Class ClusterStoreAndForward_SQL

All Implemented Interfaces:

public class ClusterStoreAndForward_SQL extends Object implements ClusterStoreAndForward
An implementation of CSAF relying on a shared SQL database to store the necessary information in a cluster setting.

NOTE: This CSAF implementation expects that the database tables are in place. A tool is provided for this, using Flyway: ClusterStoreAndForward_SQL_DbMigrations.

NOTE: There is heavy reliance on the Mats' MatsFactory.ContextLocal feature whereby the current Mats StageProcessor-contextual SQL Connection is available using the MatsFactory.ContextLocal.getAttribute(Class, String...) method. This since several of the methods on this interface will be invoked within a Mats initiation or Stage process lambda, and thus participating in the transactional demarcation established there is vital to achieve the guaranteed delivery and exactly-once delivery semantics.