Skip to content

Spring modules without Spring Boot

Spring Data · Modules: occurrent-saga-dsl-mongodb-spring, occurrent-snapshot-dsl-mongodb-spring-blocking, occurrent-snapshot-dsl-mongodb-spring-reactor, occurrent-application-service-transaction-spring, occurrent-application-service-transaction-spring-reactor

The Spring Boot Starter auto-wires a saga state store, a snapshot store, and a Spring transaction executor for you. If you’re on Spring but not on the Occurrent starter (for example, you wire beans by hand or only need one of these pieces), each is also published as a standalone library artifact with no starter dependency:

  • A Spring Data MongoDB SagaStateStore implementation, used by Sagas:
<dependency>
<groupId>org.occurrent</groupId>
<artifactId>occurrent-saga-dsl-mongodb-spring</artifactId>
<version>0.34.0</version>
</dependency>
  • A Spring Data MongoDB blocking SnapshotStore implementation, used by Snapshots:
<dependency>
<groupId>org.occurrent</groupId>
<artifactId>occurrent-snapshot-dsl-mongodb-spring-blocking</artifactId>
<version>0.34.0</version>
</dependency>
  • A Spring Data MongoDB reactive SnapshotStore implementation, the reactive counterpart of the one above:
<dependency>
<groupId>org.occurrent</groupId>
<artifactId>occurrent-snapshot-dsl-mongodb-spring-reactor</artifactId>
<version>0.34.0</version>
</dependency>
<dependency>
<groupId>org.occurrent</groupId>
<artifactId>occurrent-application-service-transaction-spring</artifactId>
<version>0.34.0</version>
</dependency>
  • A generic reactive Spring ReactiveTransactionExecutor, the reactive counterpart of the one above:
<dependency>
<groupId>org.occurrent</groupId>
<artifactId>occurrent-application-service-transaction-spring-reactor</artifactId>
<version>0.34.0</version>
</dependency>

Construct each one directly and pass it wherever the corresponding interface is expected. The starter still gives you these beans for free if you’re using it, this is only for manual wiring.