API for Mats3: Message-based Asynchronous Transactional Staged Stateless Services.
Extension to the
Java Message Service v1.1 (JMS v1.1) implementation of the
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
Mats3 interceptor adding metrics gathering using Spring's Micrometer solution - consists of a single class
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.
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.
An implementation of
Mats3 MatsSerializer implementation using Jackson to serialize between MatsTraceStringImpl and byte arrays - Employed by the Mats3 JMS Implementation.
Tooling for handling your application's configuration of a JMS
Implementation of JMS Mats's
Contains a set of helpful tools for testing:
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.
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.
Mats3 testing tools for JUnit 4.
Mats3 testing tools for Jupiter (JUnit 5).
Mats3 Utilities - notably the MatsFuturizer, which provides a bridge from synchronous processes to the highly asynchronous Mats^3 services.