See: Description
Interface | Description |
---|---|
MatsConfig |
All of
MatsFactory , MatsEndpoint and MatsStage have some configurable elements, provided by a
config instance, this is the top of that hierarchy. |
MatsConfig.StartStoppable | |
MatsEndpoint<R,S> |
Represents a Mats Endpoint - you create instances from the
MatsFactory (or use the Spring integration). |
MatsEndpoint.DetachedProcessContext |
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> |
Provides for both configuring the endpoint (before it is started), and introspecting the configuration.
|
MatsEndpoint.MatsObject |
For the incoming message type, this represents the equivalent of Java's
Object - a "generic" incoming
message whose type is not yet determined. |
MatsEndpoint.ProcessContext<R> |
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.ProcessLambda<R,S,I> |
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> |
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 invoke
MatsEndpoint.ProcessContext.reply(Object) . |
MatsEndpoint.ProcessSingleLambda<R,I> |
Specialization of
ProcessLambda which does not have a state, and have the same
return-semantics as ProcessReturnLambda - used for single-stage
endpoints as these does not have multiple stages to transfer state between. |
MatsEndpoint.ProcessTerminatorLambda<S,I> |
Specialization of
ProcessLambda which does not have reply specified - used for
terminator endpoints. |
MatsFactory |
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.FactoryConfig |
Provides for a way to configure factory-wide elements and defaults.
|
MatsFactory.MatsWrapper<T> |
Base Wrapper interface which Mats-specific Wrappers implements, defining four "wrappee" methods.
|
MatsInitiator |
Provides the means to get hold of a
MatsInitiator.MatsInitiate instance for initiating Mats message flows: You fetch an
instance implementing this interface using typically MatsFactory.getDefaultInitiator() , and then invoke
MatsInitiator.initiate(InitiateLambda) , where the lambda will provide you with the necessary MatsInitiator.MatsInitiate instance
on which you have methods to construct and dispatch e.g. |
MatsInitiator.InitiateLambda |
@FunctionalInterface for the "initiate lambda" - what you supply to the
initiate method. |
MatsInitiator.MatsInitiate |
An implementation of this interface is given to you when you want to initiate a new Mats Flow.
|
MatsInitiator.MessageReference |
Reference information about the outgoing message.
|
MatsStage<R,S,I> |
A representation of a process stage of a
MatsEndpoint . |
MatsStage.StageConfig<R,S,I> |
Provides for both configuring the stage (before it is started), and introspecting the configuration.
|
Class | Description |
---|---|
MatsEndpoint.ProcessContextWrapper<R> |
A base Wrapper for
MatsEndpoint.ProcessContext , which simply implements ProcessContext, takes a ProcessContext
instance and forwards all calls to that. |
MatsFactory.ContextLocal |
Provides ThreadLocal access to attributes from the
MatsInitiator.MatsInitiate initiate context and MatsStage
process context - currently MatsFactory.ContextLocal.getAttribute(Class, String...) , which can provide you with the
transactionally demarcated SQL Connection if the Mats implementation provides such. |
MatsFactory.MatsFactoryWrapper |
A base Wrapper for
MatsFactory , which simply implements MatsFactory, takes a MatsFactory instance and
forwards all calls to that. |
MatsInitiator.MatsInitiateWrapper |
A base Wrapper for
MatsInitiator.MatsInitiate , which simply implements MatsInitiate, takes a MatsInitiate instance and
forwards all calls to that. |
Enum | Description |
---|---|
MatsInitiator.KeepTrace |
A hint to the underlying implementation of how much historic debugging information for the call flow should be
retained in the underlying protocol.
|
Exception | Description |
---|---|
MatsEndpoint.MatsRefuseMessageException |
Can be thrown by the
MatsEndpoint.ProcessLambda of the MatsStage 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). |
MatsInitiator.MatsBackendException |
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 |
Unchecked variant of the
MatsInitiator.MatsBackendException , thrown from the MatsInitiator.initiateUnchecked(InitiateLambda)
variant of initiate(). |
MatsInitiator.MatsMessageSendException |
Will be thrown by the
MatsInitiator.initiate(InitiateLambda) -method if Mats fails to send the messages
after the MatsInitiator.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 |
Unchecked variant of the
MatsInitiator.MatsMessageSendException , thrown from the
MatsInitiator.initiateUnchecked(InitiateLambda) variant of initiate(). |