All Classes and Interfaces

Class
Description
All of MatsFactory, MatsEndpoint and MatsStage have some configurable elements, provided by a config instance, this is the top of that hierarchy.
All three of MatsFactory, MatsEndpoint and MatsStage implements this interface.
Represents a Mats Endpoint - you create instances from the MatsFactory (or use the Spring integration).
The part of MatsEndpoint.ProcessContext that exposes the "getter" side of the context, which enables it to be exposed outside of the process lambda.
Provides for both configuring the endpoint (before it is started), and introspecting the configuration.
For the incoming message type, this represents the equivalent of Java's Object - a "generic" incoming message whose type is not yet determined.
Can be thrown by the MatsEndpoint.ProcessLambda of the MatsStages 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).
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.
A base Wrapper for MatsEndpoint.ProcessContext, which simply implements ProcessContext, takes a ProcessContext instance and forwards all calls to that.
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.
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).
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.
Specialization of ProcessLambda which does not have reply specified - used for terminator endpoints.
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.
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.
Provides for a way to configure factory-wide elements and defaults.
A base Wrapper for MatsFactory, which simply implements MatsFactory, takes a MatsFactory instance and forwards all calls to that.
Base Wrapper interface which Mats-specific Wrappers implements, defining four "wrappee" methods.
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.
@FunctionalInterface for the "initiate lambda" - what you supply to the initiate method.
A hint to the underlying implementation of how much historic debugging information for the call flow should be retained in the underlying protocol.
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.
Unchecked variant of the MatsInitiator.MatsBackendException, thrown from the MatsInitiator.initiateUnchecked(InitiateLambda) variant of initiate().
An implementation of this interface is given to you when you want to initiate a new Mats Flow.
A base Wrapper for MatsInitiator.MatsInitiate, which simply implements MatsInitiate, takes a MatsInitiate instance and forwards all calls to that.
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.
Unchecked variant of the MatsInitiator.MatsMessageSendException, thrown from the MatsInitiator.initiateUnchecked(InitiateLambda) variant of initiate().
Reference information about the outgoing message.
A representation of a process stage of a MatsEndpoint.
Provides for both configuring the stage (before it is started), and introspecting the configuration.