Package | Description |
---|---|
io.mats3 |
API for Mats3: Message-based Asynchronous Transactional Staged Stateless Services.
|
io.mats3.api.intercept |
Extension to the
Mats3 API which adds interception capabilities - all operations for
initiation and stage processing can be intercepted. |
io.mats3.impl.jms |
Java Message Service v1.1 (JMS v1.1) implementation of the
Mats3 API and
Mats3 Intercept API . |
io.mats3.intercept.logging |
Mats3 interceptor for structured logging over SLF4J, adding several data points using the SLF4J MDC for
each initiation, message receive and message send - consists of a single class
MatsMetricsLoggingInterceptor , for which the JMS
implementation has special support in that if it resides on the classpath, it will autoinstall. |
io.mats3.intercept.micrometer |
Mats3 interceptor adding metrics gathering using Spring's Micrometer solution - consists of a single class
MatsMicrometerInterceptor , for which the JMS
implementation has special support in that if it resides on the classpath, it will autoinstall. |
io.mats3.localinspect |
Mats3 tool that can output an embeddable HTML describing a MatsFactory and all its endpoints, as well as
"local statistics", gathered using a Mats Interceptor.
|
io.mats3.serial |
Mats3 wire format solution called "MatsTrace", which defines a set of parameters and structures sufficient
to represent an envelope carrying Mats messages, as well as a deser-interface "MatsSerializer" which defines methods
between MatsTrace and byte arrays - Employed by the Mats3 JMS Implementation.
|
io.mats3.serial.impl |
An implementation of
MatsTrace which uses short-named fields to carry all the
needed information - meant to be field-serialized using for example Jackson. |
io.mats3.serial.json |
Mats3 MatsSerializer implementation using Jackson to serialize between MatsTraceStringImpl and byte
arrays - Employed by the Mats3 JMS Implementation.
|
io.mats3.spring |
Mats3 Spring integration ("SpringConfig"), supplying a set of annotations including
@EnableMats to enable bean scanning for
@MatsMapping and @MatsClassMapping
annotations, simplifying use of Mats3 in a Spring context. |
io.mats3.spring.jms.factories |
Tooling for handling your application's configuration of a JMS
ConnectionFactory
in different scenarios (development, testing, staging, production) - best explained in the class doc of
ScenarioConnectionFactoryProducer - do
note that this should not be the first thing you delve into when trying out Mats! |
io.mats3.spring.jms.tx |
Implementation of JMS Mats's
JmsMatsTransactionManager employing
Spring's TransactionManager for the data source aspect. |
io.mats3.spring.test |
Mats3 Spring-specific testing tools, for quickly firing up a test-harness using either JUnit or Jupiter
(JUnit 5) - read class doc of
MatsTestContext and
MatsTestInfrastructureConfiguration . |
io.mats3.test |
Contains a set of helpful tools for testing:
MatsTestBrokerInterface to
get DLQ'ed messages, MatsTestHelp for creation of relevant ids,
MatsTestLatch for a simple tool to synchronize between the test method and the
async Mats endpoints, and TestH2DataSource which is a small wrapper around H2
to create a database with a test table - mainly used by the API Tests to verify SQL transactions. |
io.mats3.test.abstractunit |
Common code for the modules 'mats-test-junit' and 'mats-test-jupiter' - These abstract classes should not be used
directly, but rather utilized through the mentioned implementations.
|
io.mats3.test.broker |
Tool for creating a MQ Broker to easily create a MatsFactory backed by an in-vm MQ Broker, employed by several of the
other Mats testing tools - by default uses Apache ActiveMQ, but may be directed to use Apache Artemis instead, or
to use an external ActiveMQ or Artemis broker.
|
io.mats3.test.junit |
Mats3 testing tools for JUnit 4.
|
io.mats3.test.jupiter |
Mats3 testing tools for Jupiter (JUnit 5).
|
io.mats3.util |
Mats3 Utilities - notably the MatsFuturizer, which provides a bridge from synchronous processes to the
highly asynchronous Mats^3 services.
|
io.mats3.util.wrappers |
Wrappers for
JMS ConnectionFactory and JDBC
DataSource - with a special "deferred connection proxy" wrapper which is smart to use as underlying DataSource for
the SQL-oriented JmsMatsTransactionManager s, as it elides transactions if the connection is not actually
employed within an initiation or stage processing. |