stacksaga-mysql-support
stacksaga-mysql-support
is one of Stacksaga db support(event store support) implementations as per the architectural diagram.
It is used for the orchestrator service along with the starter dependency if the orchestrator service uses the Mysql database as their primary database. This library provides all the facilities for accessing the mysql database for the Stacksaga engine.
Here is the way that you can add the library into your existing orchestrator application as a dependency.
stacksaga-mysql-support
as a dependency<dependency>
<groupId>org.stacksaga</groupId>
<artifactId>stacksaga-mysql-support</artifactId>
<version>${org.stacksaga.version}</version>
</dependency>
How the transaction data is sorted
As mentioned above, the primary responsibility of the mysql support is providing the facilities for saving the transaction data on the event store.
All the transaction data is saved in 2 tables called transaction_ and transaction_tryout.
All the transaction’s metadata is saved in the es_transaction
table, and the executions(tryouts) are saved in the es_transaction_execution_tryout
table.
The transaction is saved with the unique transaction id and as well as it is saved with a token that has been generated with murmur3 algorithm.
The reason is that the token is used by the agent application to find their respective transactions within their token range.
Unresolved include directive in modules/stacksaga-database-support/pages/mysql-database-support/stacksaga-mysql-support.adoc - include::framework:db-support/mysql-support-configuration-properties.adoc[]