Index
All Classes and Interfaces|All Packages|Serialized Form
A
- addBytes(String, byte[]) - Method in interface io.mats3.MatsEndpoint.ProcessContext
-
Attaches a binary payload ("sideload") to the next outgoing message, being it a request or a reply.
- addBytes(String, byte[]) - Method in class io.mats3.MatsEndpoint.ProcessContextWrapper
- addBytes(String, byte[]) - Method in interface io.mats3.MatsInitiator.MatsInitiate
-
Adds a binary payload to the outgoing request message, e.g.
- addBytes(String, byte[]) - Method in class io.mats3.MatsInitiator.MatsInitiateWrapper
- addString(String, String) - Method in interface io.mats3.MatsEndpoint.ProcessContext
-
Attaches a
String
payload ("sideload") to the next outgoing message, being it a request or a reply. - addString(String, String) - Method in class io.mats3.MatsEndpoint.ProcessContextWrapper
- addString(String, String) - Method in interface io.mats3.MatsInitiator.MatsInitiate
-
Adds a String payload to the outgoing request message, e.g.
- addString(String, String) - Method in class io.mats3.MatsInitiator.MatsInitiateWrapper
C
- close() - Method in interface io.mats3.MatsFactory
-
Convenience method, particularly for Spring's default destroy mechanism: Default implemented to invoke
stop(30 seconds)
. - close() - Method in interface io.mats3.MatsInitiator
-
Closes any underlying backend resource.
- COMPACT - Enum constant in enum class io.mats3.MatsInitiator.KeepTrace
-
Nulls out Data for other than current call while still keeping the meta-info for the call history, and condenses State to a pure stack.
- ContextLocal() - Constructor for class io.mats3.MatsFactory.ContextLocal
D
- doAfterCommit(Runnable) - Method in interface io.mats3.MatsEndpoint.ProcessContext
-
The Runnable will be performed after messaging and external resources (DB) have been committed.
- doAfterCommit(Runnable) - Method in class io.mats3.MatsEndpoint.ProcessContextWrapper
E
- equals(Object) - Method in class io.mats3.MatsFactory.MatsFactoryWrapper
F
- finishSetup() - Method in interface io.mats3.MatsEndpoint
-
Should be invoked when all stages has been added.
- from(String) - Method in interface io.mats3.MatsInitiator.MatsInitiate
-
Sets the originating/initiating "synthetic endpoint Id" - only used for statistics/tracing/debugging.
- from(String) - Method in class io.mats3.MatsInitiator.MatsInitiateWrapper
- FULL - Enum constant in enum class io.mats3.MatsInitiator.KeepTrace
-
Default: Keep all history for request and reply DTOs, and all history for state STOs.
G
- getAppName() - Method in interface io.mats3.MatsFactory.FactoryConfig
- getAppVersion() - Method in interface io.mats3.MatsFactory.FactoryConfig
- getAttribute(Class<T>, String...) - Method in interface io.mats3.MatsEndpoint.ProcessContext
-
Provides a way to get hold of (optional) attributes/objects from the Mats implementation, either specific to the Mats implementation in use, or configured into this instance of the Mats implementation.
- getAttribute(Class<T>, String...) - Method in class io.mats3.MatsEndpoint.ProcessContextWrapper
- getAttribute(Class<T>, String...) - Static method in class io.mats3.MatsFactory.ContextLocal
-
Provides a ThreadLocal-accessible variant of the
ProcessContext.getAttribute(..)
andMatsInitiate.getAttribute(..)
methods: If the executing thread is within aMats initiation
, or is currently processing aMatsStage
, the return value will be the same as if the relevantgetAttribute(..)
method was invoked. - getAttribute(Class<T>, String...) - Method in interface io.mats3.MatsInitiator.MatsInitiate
-
Provides a way to get hold of (optional) attributes/objects from the Mats implementation, either specific to the Mats implementation in use, or configured into this instance of the Mats implementation.
- getAttribute(Class<T>, String...) - Method in class io.mats3.MatsInitiator.MatsInitiateWrapper
- getAttribute(String) - Method in interface io.mats3.MatsConfig
- getBytes(String) - Method in interface io.mats3.MatsEndpoint.DetachedProcessContext
-
Get binary "sideloads" from the incoming message.
- getBytes(String) - Method in class io.mats3.MatsEndpoint.ProcessContextWrapper
- getBytesKeys() - Method in interface io.mats3.MatsEndpoint.DetachedProcessContext
- getBytesKeys() - Method in class io.mats3.MatsEndpoint.ProcessContextWrapper
- getConcurrency() - Method in interface io.mats3.MatsConfig
-
Returns the concurrency set up for this factory, or endpoint, or stage.
- getDefaultInitiator() - Method in interface io.mats3.MatsFactory
-
Gets or creates the default Initiator (whose name is 'default') from which to initiate new Mats processes, i.e.
- getDefaultInitiator() - Method in class io.mats3.MatsFactory.MatsFactoryWrapper
- getEndpoint(String) - Method in interface io.mats3.MatsFactory
- getEndpoint(String) - Method in class io.mats3.MatsFactory.MatsFactoryWrapper
- getEndpointConfig() - Method in interface io.mats3.MatsEndpoint
- getEndpointId() - Method in interface io.mats3.MatsEndpoint.DetachedProcessContext
- getEndpointId() - Method in interface io.mats3.MatsEndpoint.EndpointConfig
- getEndpointId() - Method in class io.mats3.MatsEndpoint.ProcessContextWrapper
- getEndpoints() - Method in interface io.mats3.MatsFactory
- getEndpoints() - Method in class io.mats3.MatsFactory.MatsFactoryWrapper
- getFactoryConfig() - Method in interface io.mats3.MatsFactory
- getFactoryConfig() - Method in class io.mats3.MatsFactory.MatsFactoryWrapper
- getFromAppName() - Method in interface io.mats3.MatsEndpoint.DetachedProcessContext
- getFromAppName() - Method in class io.mats3.MatsEndpoint.ProcessContextWrapper
- getFromAppVersion() - Method in interface io.mats3.MatsEndpoint.DetachedProcessContext
- getFromAppVersion() - Method in class io.mats3.MatsEndpoint.ProcessContextWrapper
- getFromStageId() - Method in interface io.mats3.MatsEndpoint.DetachedProcessContext
- getFromStageId() - Method in class io.mats3.MatsEndpoint.ProcessContextWrapper
- getFromTimestamp() - Method in interface io.mats3.MatsEndpoint.DetachedProcessContext
- getFromTimestamp() - Method in class io.mats3.MatsEndpoint.ProcessContextWrapper
- getIncomingClass() - Method in interface io.mats3.MatsEndpoint.EndpointConfig
- getIncomingClass() - Method in interface io.mats3.MatsStage.StageConfig
- getInitiatingAppName() - Method in interface io.mats3.MatsEndpoint.DetachedProcessContext
- getInitiatingAppName() - Method in class io.mats3.MatsEndpoint.ProcessContextWrapper
- getInitiatingAppVersion() - Method in interface io.mats3.MatsEndpoint.DetachedProcessContext
- getInitiatingAppVersion() - Method in class io.mats3.MatsEndpoint.ProcessContextWrapper
- getInitiatingTimestamp() - Method in interface io.mats3.MatsEndpoint.DetachedProcessContext
- getInitiatingTimestamp() - Method in class io.mats3.MatsEndpoint.ProcessContextWrapper
- getInitiatorId() - Method in interface io.mats3.MatsEndpoint.DetachedProcessContext
- getInitiatorId() - Method in class io.mats3.MatsEndpoint.ProcessContextWrapper
- getInitiators() - Method in interface io.mats3.MatsFactory
- getInitiators() - Method in class io.mats3.MatsFactory.MatsFactoryWrapper
- getInteractiveConcurrency() - Method in interface io.mats3.MatsConfig
-
Returns the interactive concurrency set up for this factory, or endpoint, or stage.
- getMatsDestinationPrefix() - Method in interface io.mats3.MatsFactory.FactoryConfig
- getMatsImplementationName() - Method in interface io.mats3.MatsFactory.FactoryConfig
- getMatsImplementationVersion() - Method in interface io.mats3.MatsFactory.FactoryConfig
- getMatsMessageId() - Method in interface io.mats3.MatsEndpoint.DetachedProcessContext
- getMatsMessageId() - Method in class io.mats3.MatsEndpoint.ProcessContextWrapper
- getMatsMessageId() - Method in interface io.mats3.MatsInitiator.MessageReference
- getMatsTraceKey() - Method in interface io.mats3.MatsFactory.FactoryConfig
- getName() - Method in interface io.mats3.MatsFactory.FactoryConfig
- getName() - Method in interface io.mats3.MatsInitiator
- getNodename() - Method in interface io.mats3.MatsFactory.FactoryConfig
-
Returns a node-specific identifier, that is, a name which is different between different instances of the same app running of different nodes.
- getNumberOfCpus() - Method in interface io.mats3.MatsFactory.FactoryConfig
- getOrCreateInitiator(String) - Method in interface io.mats3.MatsFactory
-
Gets or creates a new Initiator from which to initiate new Mats processes, i.e.
- getOrCreateInitiator(String) - Method in class io.mats3.MatsFactory.MatsFactoryWrapper
- getOrigin() - Method in interface io.mats3.MatsEndpoint.EndpointConfig
- getOrigin() - Method in interface io.mats3.MatsStage.StageConfig
- getParentEndpoint() - Method in interface io.mats3.MatsStage
- getParentFactory() - Method in interface io.mats3.MatsEndpoint
- getParentFactory() - Method in interface io.mats3.MatsInitiator
- getReplyClass() - Method in interface io.mats3.MatsEndpoint.EndpointConfig
- getRunningStageProcessors() - Method in interface io.mats3.MatsStage.StageConfig
- getStageConfig() - Method in interface io.mats3.MatsStage
- getStageId() - Method in interface io.mats3.MatsEndpoint.DetachedProcessContext
- getStageId() - Method in class io.mats3.MatsEndpoint.ProcessContextWrapper
- getStageId() - Method in interface io.mats3.MatsStage.StageConfig
- getStageIndex() - Method in interface io.mats3.MatsStage.StageConfig
- getStages() - Method in interface io.mats3.MatsEndpoint
- getStateClass() - Method in interface io.mats3.MatsEndpoint.EndpointConfig
- getString(String) - Method in interface io.mats3.MatsEndpoint.DetachedProcessContext
-
Get
String
"sideloads" from the incoming message. - getString(String) - Method in class io.mats3.MatsEndpoint.ProcessContextWrapper
- getStringKeys() - Method in interface io.mats3.MatsEndpoint.DetachedProcessContext
- getStringKeys() - Method in class io.mats3.MatsEndpoint.ProcessContextWrapper
- getSystemMessageId() - Method in interface io.mats3.MatsEndpoint.DetachedProcessContext
- getSystemMessageId() - Method in class io.mats3.MatsEndpoint.ProcessContextWrapper
- getTraceId() - Method in interface io.mats3.MatsEndpoint.DetachedProcessContext
- getTraceId() - Method in class io.mats3.MatsEndpoint.ProcessContextWrapper
- getTraceProperty(String, Class<T>) - Method in interface io.mats3.MatsEndpoint.DetachedProcessContext
-
Retrieves the Mats Trace property with the specified name, deserializing the value to the specified class, using the active MATS serializer.
- getTraceProperty(String, Class<T>) - Method in class io.mats3.MatsEndpoint.ProcessContextWrapper
- goTo(String, Object) - Method in interface io.mats3.MatsEndpoint.ProcessContext
-
Sends a message which passes the current call stack over to another endpoint, so that when that endpoint replies, it will return to the endpoint which invoked this endpoint.
- goTo(String, Object) - Method in class io.mats3.MatsEndpoint.ProcessContextWrapper
- goTo(String, Object, Object) - Method in interface io.mats3.MatsEndpoint.ProcessContext
-
Variation of
MatsEndpoint.ProcessContext.goTo(String, Object)
method, where the incoming state is sent along. - goTo(String, Object, Object) - Method in class io.mats3.MatsEndpoint.ProcessContextWrapper
H
- hashCode() - Method in class io.mats3.MatsFactory.MatsFactoryWrapper
- holdEndpointsUntilFactoryIsStarted() - Method in interface io.mats3.MatsFactory
-
If this method is invoked before any endpoint is created, the endpoints will not start even though
MatsEndpoint.finishSetup()
is invoked on them, but will wait tillMatsFactory.start()
is invoked on the factory. This feature should be employed in most setups where the MATS endpoints might use other services or components whose order of creation and initialization are difficult to fully control, e.g. - holdEndpointsUntilFactoryIsStarted() - Method in class io.mats3.MatsFactory.MatsFactoryWrapper
I
- initiate(MatsInitiator.InitiateLambda) - Method in interface io.mats3.MatsEndpoint.ProcessContext
-
Initiates a new message out to an endpoint.
- initiate(MatsInitiator.InitiateLambda) - Method in class io.mats3.MatsEndpoint.ProcessContextWrapper
- initiate(MatsInitiator.InitiateLambda) - Method in interface io.mats3.MatsInitiator
-
Initiates a new message ("request" or "send") out to an endpoint: You provide a lambda which is supplied the
MatsInitiator.MatsInitiate
instance on which you invoke methods to construct and dispatch messages. - initiate(MatsInitiator.MatsInitiate) - Method in interface io.mats3.MatsInitiator.InitiateLambda
- initiateUnchecked(MatsInitiator.InitiateLambda) - Method in interface io.mats3.MatsInitiator
-
Variant of
MatsInitiator.initiate(InitiateLambda)
where the two error conditions are raised as unchecked exceptions (But please understand the implications ofMatsInitiator.MatsMessageSendRuntimeException
!) - instantiateNewObject(Class<T>) - Method in interface io.mats3.MatsFactory.FactoryConfig
-
This method is only relevant for tooling, and thus "hidden away" in this config class.
- interactive() - Method in interface io.mats3.MatsInitiator.MatsInitiate
-
Prioritize this Mats flow! Hint to the underlying implementation that a human is actually waiting for the result of a request, and that the flow therefore should be prioritized.
- interactive() - Method in class io.mats3.MatsInitiator.MatsInitiateWrapper
- io.mats3 - package io.mats3
-
API for Mats3: Message-based Asynchronous Transactional Staged Stateless Services.
- isConcurrencyDefault() - Method in interface io.mats3.MatsConfig
- isInteractive() - Method in interface io.mats3.MatsEndpoint.DetachedProcessContext
-
This is relevant if stashing or otherwise when a stage is accessing an external system (e.g.
- isInteractive() - Method in class io.mats3.MatsEndpoint.ProcessContextWrapper
- isInteractiveConcurrencyDefault() - Method in interface io.mats3.MatsConfig
- isNoAudit() - Method in interface io.mats3.MatsEndpoint.DetachedProcessContext
-
Hint to monitoring/logging/auditing systems that this call flow is not very valuable to fully audit, typically because it is just a "getter" of information for display to a user, or is health check request to see if the endpoint is up and answers in a timely manner.
- isNoAudit() - Method in class io.mats3.MatsEndpoint.ProcessContextWrapper
- isNonPersistent() - Method in interface io.mats3.MatsEndpoint.DetachedProcessContext
-
This is relevant if stashing or otherwise when a stage is accessing an external system (e.g.
- isNonPersistent() - Method in class io.mats3.MatsEndpoint.ProcessContextWrapper
- isRunning() - Method in interface io.mats3.MatsConfig
- isSubscription() - Method in interface io.mats3.MatsEndpoint.EndpointConfig
K
- keepTrace(MatsInitiator.KeepTrace) - Method in interface io.mats3.MatsInitiator.MatsInitiate
-
Hint to the underlying implementation to which level of call and state history the underlying protocol should retain.
- keepTrace(MatsInitiator.KeepTrace) - Method in class io.mats3.MatsInitiator.MatsInitiateWrapper
L
- lastStage(Class<I>, MatsEndpoint.ProcessReturnLambda<R, S, I>) - Method in interface io.mats3.MatsEndpoint
-
Adds the last stage to a multi-stage endpoint, which also
finishes setup
of the endpoint. - lastStage(Class<I>, Consumer<? super MatsStage.StageConfig<R, S, I>>, MatsEndpoint.ProcessReturnLambda<R, S, I>) - Method in interface io.mats3.MatsEndpoint
-
Variation of
MatsEndpoint.lastStage(Class, ProcessReturnLambda)
that can be configured "on the fly". - logMeasurement(String, String, String, double, String...) - Method in interface io.mats3.MatsEndpoint.ProcessContext
-
Adds a measurement of a described variable, in a base unit, for this Stage - be sure to understand that the three String parameters are constants for each measurement. To exemplify, you may measure five different things in a Stage, i.e.
- logMeasurement(String, String, String, double, String...) - Method in class io.mats3.MatsEndpoint.ProcessContextWrapper
- logMeasurement(String, String, String, double, String...) - Method in interface io.mats3.MatsInitiator.MatsInitiate
-
Adds a measurement of a described variable, in a base unit, for this Initiation - be sure to understand that the three String parameters are constants for each measurement. To exemplify, you may measure five different things in an Initiation, i.e.
- logMeasurement(String, String, String, double, String...) - Method in class io.mats3.MatsInitiator.MatsInitiateWrapper
- logTimingMeasurement(String, String, long, String...) - Method in interface io.mats3.MatsEndpoint.ProcessContext
-
Same as
addMeasurement(..)
, but specifically for timings - Read that JavaDoc! - logTimingMeasurement(String, String, long, String...) - Method in class io.mats3.MatsEndpoint.ProcessContextWrapper
- logTimingMeasurement(String, String, long, String...) - Method in interface io.mats3.MatsInitiator.MatsInitiate
-
Same as
addMeasurement(..)
, but specifically for timings - Read that JavaDoc! - logTimingMeasurement(String, String, long, String...) - Method in class io.mats3.MatsInitiator.MatsInitiateWrapper
M
- MatsBackendException(String) - Constructor for exception io.mats3.MatsInitiator.MatsBackendException
- MatsBackendException(String, Throwable) - Constructor for exception io.mats3.MatsInitiator.MatsBackendException
- MatsBackendRuntimeException(String) - Constructor for exception io.mats3.MatsInitiator.MatsBackendRuntimeException
- MatsBackendRuntimeException(String, Throwable) - Constructor for exception io.mats3.MatsInitiator.MatsBackendRuntimeException
- MatsConfig - Interface in io.mats3
-
All of
MatsFactory
,MatsEndpoint
andMatsStage
have some configurable elements, provided by a config instance, this is the top of that hierarchy. - MatsConfig.StartStoppable - Interface in io.mats3
- MatsEndpoint<R,
S> - Interface in io.mats3 -
Represents a Mats Endpoint - you create instances from the
MatsFactory
(or use the Spring integration). - MatsEndpoint.DetachedProcessContext - Interface in io.mats3
-
The part of
MatsEndpoint.ProcessContext
that exposes the "getter" side of the context, which enables it to be exposed outside of the process lambda. - MatsEndpoint.EndpointConfig<R,
S> - Interface in io.mats3 -
Provides for both configuring the endpoint (before it is started), and introspecting the configuration.
- MatsEndpoint.MatsObject - Interface in io.mats3
-
For the incoming message type, this represents the equivalent of Java's
Object
- a "generic" incoming message whose type is not yet determined. - MatsEndpoint.MatsRefuseMessageException - Exception in io.mats3
-
Can be thrown by the
MatsEndpoint.ProcessLambda
of theMatsStage
s to denote that it would prefer this message to be instantly put on a Dead Letter Queue (the stage processing, including any database actions, will still be rolled back as with any other exception thrown out of a ProcessLambda). - MatsEndpoint.ProcessContext<R> - Interface in io.mats3
-
A way for the process stage to communicate with the library, providing methods to invoke a request, send a reply (for multi-stage endpoints, this provides a way to do a "early return"), initiate a new message etc.
- MatsEndpoint.ProcessContextWrapper<R> - Class in io.mats3
-
A base Wrapper for
MatsEndpoint.ProcessContext
, which simply implements ProcessContext, takes a ProcessContext instance and forwards all calls to that. - MatsEndpoint.ProcessLambda<R,
S, I> - Interface in io.mats3 -
The lambda that shall be provided by the developer for the process stage(s) for the endpoint - provides the context, state and incoming message DTO.
- MatsEndpoint.ProcessReturnLambda<R,
S, I> - Interface in io.mats3 -
Specialization of
ProcessLambda
that makes it possible to do a "return replyDto" at the end of the stage, which is just a convenient way to invokeMatsEndpoint.ProcessContext.reply(Object)
. - MatsEndpoint.ProcessSingleLambda<R,
I> - Interface in io.mats3 -
Specialization of
ProcessLambda
which does not have a state, and have the same return-semantics asProcessReturnLambda
- used for single-stage endpoints as these does not have multiple stages to transfer state between. - MatsEndpoint.ProcessTerminatorLambda<S,
I> - Interface in io.mats3 -
Specialization of
ProcessLambda
which does not have reply specified - used for terminator endpoints. - MatsFactory - Interface in io.mats3
-
The start point for all interaction with Mats - you need to get hold of an instance of this interface to be able to code and configure Mats endpoints, and to perform
initiations
like sending a message, perform a request and publish a message. - MatsFactory.ContextLocal - Class in io.mats3
-
Provides ThreadLocal access to attributes from the
MatsInitiator.MatsInitiate
initiate context andMatsStage
process context - currentlyMatsFactory.ContextLocal.getAttribute(Class, String...)
, which can provide you with the transactionally demarcated SQL Connection if the Mats implementation provides such. - MatsFactory.FactoryConfig - Interface in io.mats3
-
Provides for a way to configure factory-wide elements and defaults.
- MatsFactory.MatsFactoryWrapper - Class in io.mats3
-
A base Wrapper for
MatsFactory
, which simply implements MatsFactory, takes a MatsFactory instance and forwards all calls to that. - MatsFactory.MatsWrapper<T> - Interface in io.mats3
-
Base Wrapper interface which Mats-specific Wrappers implements, defining four "wrappee" methods.
- MatsFactoryWrapper() - Constructor for class io.mats3.MatsFactory.MatsFactoryWrapper
-
No-args constructor, which implies that you either need to invoke
MatsFactory.MatsFactoryWrapper.setWrappee(MatsFactory)
before publishing the instance (making it available for other threads), or overrideMatsFactory.MatsFactoryWrapper.unwrap()
to provide the desiredMatsFactory
instance. - MatsFactoryWrapper(MatsFactory) - Constructor for class io.mats3.MatsFactory.MatsFactoryWrapper
-
Standard constructor, taking the wrapped
MatsFactory
instance. - MatsInitiateWrapper() - Constructor for class io.mats3.MatsInitiator.MatsInitiateWrapper
-
No-args constructor, which implies that you either need to invoke
MatsInitiator.MatsInitiateWrapper.setWrappee(MatsInitiate)
before publishing the instance (making it available for other threads), or overrideMatsInitiator.MatsInitiateWrapper.unwrap()
to provide the desiredMatsInitiator.MatsInitiate
instance. - MatsInitiateWrapper(MatsInitiator.MatsInitiate) - Constructor for class io.mats3.MatsInitiator.MatsInitiateWrapper
-
Standard constructor, taking the wrapped
MatsInitiator.MatsInitiate
instance. - MatsInitiator - Interface in io.mats3
-
Provides the means to get hold of a
MatsInitiator.MatsInitiate
instance for initiating Mats message flows: You fetch an instance implementing this interface using typicallyMatsFactory.getDefaultInitiator()
, and then invokeMatsInitiator.initiate(InitiateLambda)
, where the lambda will provide you with the necessaryMatsInitiator.MatsInitiate
instance on which you have methods to construct and dispatch e.g. - MatsInitiator.InitiateLambda - Interface in io.mats3
-
@FunctionalInterface
for the "initiate lambda" - what you supply to theinitiate
method. - MatsInitiator.KeepTrace - Enum Class in io.mats3
-
A hint to the underlying implementation of how much historic debugging information for the call flow should be retained in the underlying protocol.
- MatsInitiator.MatsBackendException - Exception in io.mats3
-
Will be thrown by the
MatsInitiator.initiate(InitiateLambda)
-method if it is not possible at this time to establish a connection to the underlying messaging system (e.g. - MatsInitiator.MatsBackendRuntimeException - Exception in io.mats3
-
Unchecked variant of the
MatsInitiator.MatsBackendException
, thrown from theMatsInitiator.initiateUnchecked(InitiateLambda)
variant of initiate(). - MatsInitiator.MatsInitiate - Interface in io.mats3
-
An implementation of this interface is given to you when you want to initiate a new Mats Flow.
- MatsInitiator.MatsInitiateWrapper - Class in io.mats3
-
A base Wrapper for
MatsInitiator.MatsInitiate
, which simply implements MatsInitiate, takes a MatsInitiate instance and forwards all calls to that. - MatsInitiator.MatsMessageSendException - Exception in io.mats3
-
Will be thrown by the
MatsInitiator.initiate(InitiateLambda)
-method if Mats fails to send the messages after theMatsInitiator.InitiateLambda
has been run, any external resource (typically DB) has been committed, and then some situation occurs that makes it impossible to send out messages. - MatsInitiator.MatsMessageSendRuntimeException - Exception in io.mats3
-
Unchecked variant of the
MatsInitiator.MatsMessageSendException
, thrown from theMatsInitiator.initiateUnchecked(InitiateLambda)
variant of initiate(). - MatsInitiator.MessageReference - Interface in io.mats3
-
Reference information about the outgoing message.
- MatsMessageSendException(String) - Constructor for exception io.mats3.MatsInitiator.MatsMessageSendException
- MatsMessageSendException(String, Throwable) - Constructor for exception io.mats3.MatsInitiator.MatsMessageSendException
- MatsMessageSendRuntimeException(String) - Constructor for exception io.mats3.MatsInitiator.MatsMessageSendRuntimeException
- MatsMessageSendRuntimeException(String, Throwable) - Constructor for exception io.mats3.MatsInitiator.MatsMessageSendRuntimeException
- MatsRefuseMessageException(String) - Constructor for exception io.mats3.MatsEndpoint.MatsRefuseMessageException
- MatsRefuseMessageException(String, Throwable) - Constructor for exception io.mats3.MatsEndpoint.MatsRefuseMessageException
- MatsStage<R,
S, I> - Interface in io.mats3 -
A representation of a process stage of a
MatsEndpoint
. - MatsStage.StageConfig<R,
S, I> - Interface in io.mats3 -
Provides for both configuring the stage (before it is started), and introspecting the configuration.
- MINIMAL - Enum constant in enum class io.mats3.MatsInitiator.KeepTrace
-
Only keep the current call, and condenses State to a pure stack.
N
- next(Object) - Method in interface io.mats3.MatsEndpoint.ProcessContext
-
Sends a message which passes the control to the next stage of a multi-stage endpoint.
- next(Object) - Method in class io.mats3.MatsEndpoint.ProcessContextWrapper
- nextDirect(Object) - Method in interface io.mats3.MatsEndpoint.ProcessContext
-
Specialized, less resource demanding, and faster "direct" variant of
MatsEndpoint.ProcessContext.next(Object)
which executes the next stage of a multi-stage endpoint within the same stage processor and transactional demarcation that this stage is in - that is, there is no actual message sent. - nextDirect(Object) - Method in class io.mats3.MatsEndpoint.ProcessContextWrapper
- NO_CONFIG - Static variable in interface io.mats3.MatsFactory
-
Simple Consumer<MatsConfig>-implementation that does nothing, for use where you e.g.
- noAudit() - Method in interface io.mats3.MatsInitiator.MatsInitiate
-
Marks this Mats flow as not relevant for auditing.
- noAudit() - Method in class io.mats3.MatsInitiator.MatsInitiateWrapper
- nonPersistent() - Method in interface io.mats3.MatsInitiator.MatsInitiate
-
Enable unreliable, but fast, messaging! Hint to the underlying implementation that it does not matter that much if this message is lost.
- nonPersistent() - Method in class io.mats3.MatsInitiator.MatsInitiateWrapper
- nonPersistent(long) - Method in interface io.mats3.MatsInitiator.MatsInitiate
-
Same as
MatsInitiator.MatsInitiate.nonPersistent()
, but you can set a time-to-live too. - nonPersistent(long) - Method in class io.mats3.MatsInitiator.MatsInitiateWrapper
P
- process(MatsEndpoint.ProcessContext<Void>, S, I) - Method in interface io.mats3.MatsEndpoint.ProcessTerminatorLambda
- process(MatsEndpoint.ProcessContext<R>, I) - Method in interface io.mats3.MatsEndpoint.ProcessSingleLambda
- process(MatsEndpoint.ProcessContext<R>, S, I) - Method in interface io.mats3.MatsEndpoint.ProcessLambda
- process(MatsEndpoint.ProcessContext<R>, S, I) - Method in interface io.mats3.MatsEndpoint.ProcessReturnLambda
- ProcessContextWrapper() - Constructor for class io.mats3.MatsEndpoint.ProcessContextWrapper
-
No-args constructor, which implies that you either need to invoke
MatsEndpoint.ProcessContextWrapper.setWrappee(ProcessContext)
before publishing the instance (making it available for other threads), or overrideMatsEndpoint.ProcessContextWrapper.unwrap()
to provide the desiredMatsEndpoint.ProcessContext
instance. - ProcessContextWrapper(MatsEndpoint.ProcessContext<R>) - Constructor for class io.mats3.MatsEndpoint.ProcessContextWrapper
-
Standard constructor, taking the wrapped
MatsEndpoint.ProcessContext
instance. - publish(Object) - Method in interface io.mats3.MatsInitiator.MatsInitiate
-
Sends a message to a
SubscriptionTerminator
, employing the publish/subscribe pattern instead of message queues (topic in JMS terms). - publish(Object) - Method in class io.mats3.MatsInitiator.MatsInitiateWrapper
- publish(Object, Object) - Method in interface io.mats3.MatsInitiator.MatsInitiate
-
Variation of the
MatsInitiator.MatsInitiate.publish(Object)
method, where the incoming state is sent along. - publish(Object, Object) - Method in class io.mats3.MatsInitiator.MatsInitiateWrapper
R
- remove(int) - Method in interface io.mats3.MatsEndpoint
-
Should most probably only be used for testing!
- reply(R) - Method in interface io.mats3.MatsEndpoint.ProcessContext
-
Sends a reply to the requesting service.
- reply(R) - Method in class io.mats3.MatsEndpoint.ProcessContextWrapper
- replyTo(String, Object) - Method in interface io.mats3.MatsInitiator.MatsInitiate
-
Specified which MATS Endpoint the reply of the invoked Endpoint should go to.
- replyTo(String, Object) - Method in class io.mats3.MatsInitiator.MatsInitiateWrapper
- replyToSubscription(String, Object) - Method in interface io.mats3.MatsInitiator.MatsInitiate
-
A "pub-sub" variant of
replyTo
, where the reply will go to the specified endpointId which must be aSubscriptionTerminator
. - replyToSubscription(String, Object) - Method in class io.mats3.MatsInitiator.MatsInitiateWrapper
- request(Object) - Method in interface io.mats3.MatsInitiator.MatsInitiate
-
The standard request initiation method: All of from, to and replyTo must be set.
- request(Object) - Method in class io.mats3.MatsInitiator.MatsInitiateWrapper
- request(Object, Object) - Method in interface io.mats3.MatsInitiator.MatsInitiate
-
Variation of the request initiation method, where the incoming state is sent along.
- request(Object, Object) - Method in class io.mats3.MatsInitiator.MatsInitiateWrapper
- request(String, Object) - Method in interface io.mats3.MatsEndpoint.ProcessContext
-
Sends a request message, meaning that the specified endpoint will be invoked, with the reply-to endpointId set to the next stage in the multi-stage endpoint.
- request(String, Object) - Method in class io.mats3.MatsEndpoint.ProcessContextWrapper
S
- send(Object) - Method in interface io.mats3.MatsInitiator.MatsInitiate
-
Sends a message to an endpoint, without expecting any reply ("fire-and-forget").
- send(Object) - Method in class io.mats3.MatsInitiator.MatsInitiateWrapper
- send(Object, Object) - Method in interface io.mats3.MatsInitiator.MatsInitiate
-
Variation of the
MatsInitiator.MatsInitiate.send(Object)
method, where the incoming state is sent along. - send(Object, Object) - Method in class io.mats3.MatsInitiator.MatsInitiateWrapper
- setAttribute(String, Object) - Method in interface io.mats3.MatsConfig
-
Sets an attribute for this entity (factory, endpoint, stage) - can e.g.
- setAttribute(String, Object) - Method in interface io.mats3.MatsEndpoint.EndpointConfig
- setAttribute(String, Object) - Method in interface io.mats3.MatsFactory.FactoryConfig
- setAttribute(String, Object) - Method in interface io.mats3.MatsStage.StageConfig
- setConcurrency(int) - Method in interface io.mats3.MatsConfig
-
Changes the default concurrency of the Factory, or of the endpoint (which defaults to the concurrency of the
MatsFactory
), or of the process stage (which defaults to the concurrency of theMatsEndpoint
). - setConcurrency(int) - Method in interface io.mats3.MatsEndpoint.EndpointConfig
- setConcurrency(int) - Method in interface io.mats3.MatsFactory.FactoryConfig
- setConcurrency(int) - Method in interface io.mats3.MatsStage.StageConfig
- setInitiateTraceIdModifier(Function<String, String>) - Method in interface io.mats3.MatsFactory.FactoryConfig
-
Sets a Function that may modify the TraceId of Mats flows that are initiated "from the outside", i.e.
- setInteractiveConcurrency(int) - Method in interface io.mats3.MatsConfig
-
Like
MatsConfig.setConcurrency(int)
, but changes the "interactive concurrency" specifically - this is relevant for the Mats Flows that are initiated with theinteractive
flag set. - setInteractiveConcurrency(int) - Method in interface io.mats3.MatsEndpoint.EndpointConfig
- setInteractiveConcurrency(int) - Method in interface io.mats3.MatsFactory.FactoryConfig
- setInteractiveConcurrency(int) - Method in interface io.mats3.MatsStage.StageConfig
- setMatsDestinationPrefix(String) - Method in interface io.mats3.MatsFactory.FactoryConfig
-
Sets the prefix that should be applied to the endpointIds to get queue or topic name in the underlying messaging system - the default is
"mats."
. - setMatsTraceKey(String) - Method in interface io.mats3.MatsFactory.FactoryConfig
-
Sets the key name on which to store the "wire representation" of the Mats message if the underlying mechanism uses some kind of Map - the default is
"mats:trace"
. - setName(String) - Method in interface io.mats3.MatsFactory.FactoryConfig
-
Sets the name of the MatsFactory, default is "" (empty string).
- setNodename(String) - Method in interface io.mats3.MatsFactory.FactoryConfig
-
Sets the nodename that
MatsFactory.FactoryConfig.getNodename()
should return. - setOrigin(String) - Method in interface io.mats3.MatsEndpoint.EndpointConfig
-
Sets the origin for this Endpoint, i.e.
- setOrigin(String) - Method in interface io.mats3.MatsStage.StageConfig
-
Sets the origin for this Stage, i.e.
- setTraceProperty(String, Object) - Method in interface io.mats3.MatsEndpoint.ProcessContext
-
Adds a property that will "stick" with the Mats Trace from this call on out.
- setTraceProperty(String, Object) - Method in class io.mats3.MatsEndpoint.ProcessContextWrapper
- setTraceProperty(String, Object) - Method in interface io.mats3.MatsInitiator.MatsInitiate
-
Adds a property that will "stick" with the call flow from this call on out.
- setTraceProperty(String, Object) - Method in class io.mats3.MatsInitiator.MatsInitiateWrapper
- setWrappee(MatsEndpoint.ProcessContext<R>) - Method in class io.mats3.MatsEndpoint.ProcessContextWrapper
-
Sets the wrapped
MatsEndpoint.ProcessContext
, e.g. - setWrappee(MatsFactory) - Method in class io.mats3.MatsFactory.MatsFactoryWrapper
-
Sets the wrapped
MatsFactory
, e.g. - setWrappee(MatsInitiator.MatsInitiate) - Method in class io.mats3.MatsInitiator.MatsInitiateWrapper
-
Sets the wrapped
MatsInitiator.MatsInitiate
, e.g. - setWrappee(T) - Method in interface io.mats3.MatsFactory.MatsWrapper
- single(String, Class<R>, Class<I>, MatsEndpoint.ProcessSingleLambda<R, I>) - Method in class io.mats3.MatsFactory.MatsFactoryWrapper
- single(String, Class<R>, Class<I>, MatsEndpoint.ProcessSingleLambda<R, I>) - Method in interface io.mats3.MatsFactory
-
Sets up a
MatsEndpoint
that just contains one stage, useful for simple "request the full person data for this/these personId(s)" scenarios. - single(String, Class<R>, Class<I>, Consumer<? super MatsEndpoint.EndpointConfig<R, Void>>, Consumer<? super MatsStage.StageConfig<R, Void, I>>, MatsEndpoint.ProcessSingleLambda<R, I>) - Method in class io.mats3.MatsFactory.MatsFactoryWrapper
- single(String, Class<R>, Class<I>, Consumer<? super MatsEndpoint.EndpointConfig<R, Void>>, Consumer<? super MatsStage.StageConfig<R, Void, I>>, MatsEndpoint.ProcessSingleLambda<R, I>) - Method in interface io.mats3.MatsFactory
-
Variation of
MatsFactory.single(String, Class, Class, ProcessSingleLambda)
that can be configured "on the fly". - stage(Class<I>, MatsEndpoint.ProcessLambda<R, S, I>) - Method in interface io.mats3.MatsEndpoint
-
Adds a new stage to a multi-stage endpoint.
- stage(Class<I>, Consumer<? super MatsStage.StageConfig<R, S, I>>, MatsEndpoint.ProcessLambda<R, S, I>) - Method in interface io.mats3.MatsEndpoint
-
Variation of
MatsEndpoint.stage(Class, ProcessLambda)
that can be configured "on the fly". - staged(String, Class<R>, Class<S>) - Method in class io.mats3.MatsFactory.MatsFactoryWrapper
- staged(String, Class<R>, Class<S>) - Method in interface io.mats3.MatsFactory
-
Sets up a
MatsEndpoint
on which you will add stages. - staged(String, Class<R>, Class<S>, Consumer<? super MatsEndpoint.EndpointConfig<R, S>>) - Method in class io.mats3.MatsFactory.MatsFactoryWrapper
- staged(String, Class<R>, Class<S>, Consumer<? super MatsEndpoint.EndpointConfig<R, S>>) - Method in interface io.mats3.MatsFactory
-
Variation of
MatsFactory.staged(String, Class, Class)
that can be configured "on the fly". - start() - Method in interface io.mats3.MatsConfig.StartStoppable
-
Will start the entity - or the entities below it (the only "active" entity is a
MatsStage
Processor). - start() - Method in interface io.mats3.MatsEndpoint
-
Starts the endpoint (unless
MatsEndpoint.finishSetup()
has NOT been invoked), invokingMatsStage.start()
on any not-yet started stages of the endpoint (which should be all of them at application startup). - start() - Method in class io.mats3.MatsFactory.MatsFactoryWrapper
- start() - Method in interface io.mats3.MatsFactory
-
Starts all endpoints that has been created by this factory, by invoking
MatsEndpoint.start()
on them. - start() - Method in interface io.mats3.MatsStage
-
Starts this stage, thereby firing up the queue processing using a set of threads, the number decided by the
MatsConfig.getConcurrency()
for each stage. - stash() - Method in interface io.mats3.MatsEndpoint.ProcessContext
-
Returns a binary representation of the current Mats flow's incoming execution point, which can be
unstashed
again at a later time using theMatsInitiator
, thereby providing a simplistic "continuation" feature in Mats. - stash() - Method in class io.mats3.MatsEndpoint.ProcessContextWrapper
- stop(int) - Method in interface io.mats3.MatsConfig.StartStoppable
-
Will stop the entity - or the entities below it (the only "active" entity is a
MatsStage
Processor). - stop(int) - Method in interface io.mats3.MatsEndpoint
-
Stops the endpoint, invoking
MatsStage.stop(int)
on allMatsStage
s. - stop(int) - Method in class io.mats3.MatsFactory.MatsFactoryWrapper
- stop(int) - Method in interface io.mats3.MatsFactory
-
Stops all endpoints and initiators, by invoking
MatsEndpoint.stop(int)
on all the endpoints, andMatsInitiator.close()
on all initiators that has been created by this factory. - stop(int) - Method in interface io.mats3.MatsStage
-
Stops this stage.
- subscriptionTerminator(String, Class<S>, Class<I>, MatsEndpoint.ProcessTerminatorLambda<S, I>) - Method in class io.mats3.MatsFactory.MatsFactoryWrapper
- subscriptionTerminator(String, Class<S>, Class<I>, MatsEndpoint.ProcessTerminatorLambda<S, I>) - Method in interface io.mats3.MatsFactory
-
Special kind of terminator that, in JMS-style terms, subscribes to a topic instead of listening to a queue (i.e.
- subscriptionTerminator(String, Class<S>, Class<I>, Consumer<? super MatsEndpoint.EndpointConfig<Void, S>>, Consumer<? super MatsStage.StageConfig<Void, S, I>>, MatsEndpoint.ProcessTerminatorLambda<S, I>) - Method in class io.mats3.MatsFactory.MatsFactoryWrapper
- subscriptionTerminator(String, Class<S>, Class<I>, Consumer<? super MatsEndpoint.EndpointConfig<Void, S>>, Consumer<? super MatsStage.StageConfig<Void, S, I>>, MatsEndpoint.ProcessTerminatorLambda<S, I>) - Method in interface io.mats3.MatsFactory
-
Variation of
MatsFactory.subscriptionTerminator(String, Class, Class, ProcessTerminatorLambda)
that can be configured "on the fly", but notice that the concurrency of a SubscriptionTerminator is always 1.
T
- terminator(String, Class<S>, Class<I>, MatsEndpoint.ProcessTerminatorLambda<S, I>) - Method in class io.mats3.MatsFactory.MatsFactoryWrapper
- terminator(String, Class<S>, Class<I>, MatsEndpoint.ProcessTerminatorLambda<S, I>) - Method in interface io.mats3.MatsFactory
-
Sets up a
MatsEndpoint
that contains a single stage that typically will be the reply-to endpointId for arequest initiation
, or that can be used to directly send a "fire-and-forget" styleinvocation
to. - terminator(String, Class<S>, Class<I>, Consumer<? super MatsEndpoint.EndpointConfig<Void, S>>, Consumer<? super MatsStage.StageConfig<Void, S, I>>, MatsEndpoint.ProcessTerminatorLambda<S, I>) - Method in class io.mats3.MatsFactory.MatsFactoryWrapper
- terminator(String, Class<S>, Class<I>, Consumer<? super MatsEndpoint.EndpointConfig<Void, S>>, Consumer<? super MatsStage.StageConfig<Void, S, I>>, MatsEndpoint.ProcessTerminatorLambda<S, I>) - Method in interface io.mats3.MatsFactory
-
Variation of
MatsFactory.terminator(String, Class, Class, ProcessTerminatorLambda)
that can be configured "on the fly". - to(String) - Method in interface io.mats3.MatsInitiator.MatsInitiate
-
Sets which MATS Endpoint this message should go.
- to(String) - Method in class io.mats3.MatsInitiator.MatsInitiateWrapper
- toClass(Class<T>) - Method in interface io.mats3.MatsEndpoint.MatsObject
-
Deserializes the incoming message class to the desired type - assuming that it actually is a serialized representation of that class.
- toString() - Method in interface io.mats3.MatsEndpoint.DetachedProcessContext
- toString() - Method in class io.mats3.MatsEndpoint.ProcessContextWrapper
- toString() - Method in class io.mats3.MatsFactory.MatsFactoryWrapper
- toString() - Method in class io.mats3.MatsInitiator.MatsInitiateWrapper
- traceId(CharSequence) - Method in interface io.mats3.MatsInitiator.MatsInitiate
-
Sets (or appends with a joining "|" in case of
initiation within a stage
) the supplied Trace Id, which is solely used for logging and debugging purposes. - traceId(CharSequence) - Method in class io.mats3.MatsInitiator.MatsInitiateWrapper
U
- unstash(byte[], Class<R>, Class<S>, Class<I>, MatsEndpoint.ProcessLambda<R, S, I>) - Method in interface io.mats3.MatsInitiator.MatsInitiate
-
Unstashes a Mats Flow that have been previously
stashed
. - unstash(byte[], Class<R>, Class<S>, Class<I>, MatsEndpoint.ProcessLambda<R, S, I>) - Method in class io.mats3.MatsInitiator.MatsInitiateWrapper
- unwrap() - Method in class io.mats3.MatsEndpoint.ProcessContextWrapper
- unwrap() - Method in class io.mats3.MatsFactory.MatsFactoryWrapper
- unwrap() - Method in interface io.mats3.MatsFactory.MatsWrapper
- unwrap() - Method in class io.mats3.MatsInitiator.MatsInitiateWrapper
- unwrapFully() - Method in interface io.mats3.MatsEndpoint.ProcessContext
- unwrapFully() - Method in class io.mats3.MatsEndpoint.ProcessContextWrapper
- unwrapFully() - Method in class io.mats3.MatsFactory.MatsFactoryWrapper
- unwrapFully() - Method in interface io.mats3.MatsFactory.MatsWrapper
- unwrapFully() - Method in interface io.mats3.MatsFactory
-
In a situation where you might be given a
MatsFactory.MatsFactoryWrapper
, but need the actual implementation, this method allows you to just always callmatsFactory.unwrapFully()
instead of first checking whether it is a proxy and only then cast and unwrap. - unwrapFully() - Method in interface io.mats3.MatsInitiator.MatsInitiate
- unwrapFully() - Method in class io.mats3.MatsInitiator.MatsInitiateWrapper
- unwrapTo(Class<I>) - Method in class io.mats3.MatsFactory.MatsFactoryWrapper
-
Resolve the "deadly diamond of death", by calling to
MatsWrapper.super.unwrapTo(iface)
; - unwrapTo(Class<I>) - Method in interface io.mats3.MatsFactory.MatsWrapper
- unwrapTo(Class<I>) - Method in interface io.mats3.MatsFactory
-
In a situation where you might be given a
MatsFactory.MatsFactoryWrapper
, but need to find a wrappee that implements a specific interface, this method allows you to just always callmatsFactory.unwrapTo(iface)
instead of first checking whether it is a proxy and only then cast and unwrap.
V
- valueOf(String) - Static method in enum class io.mats3.MatsInitiator.KeepTrace
-
Returns the enum constant of this class with the specified name.
- values() - Static method in enum class io.mats3.MatsInitiator.KeepTrace
-
Returns an array containing the constants of this enum class, in the order they are declared.
W
- waitForReceiving(int) - Method in interface io.mats3.MatsConfig.StartStoppable
-
If the entity is stopped or starting, this method won't return until it has actually started the receive-loop (i.e.
- waitForReceiving(int) - Method in interface io.mats3.MatsEndpoint
-
Waits till all stages of the endpoint has entered their receive-loops, i.e.
- waitForReceiving(int) - Method in class io.mats3.MatsFactory.MatsFactoryWrapper
- waitForReceiving(int) - Method in interface io.mats3.MatsFactory
-
Waits until all endpoints have fully entered the receive-loops, i.e.
- waitForReceiving(int) - Method in interface io.mats3.MatsStage
-
Will wait until at least one processor of the stage has entered its receive-loop.
All Classes and Interfaces|All Packages|Serialized Form