Getting Started
Add the following dependency to your build.sbt
file:
libraryDependencies += "io.github.endless4s" %% "endless-transaction" % "0.3.0"
This will pull in the module containing the abstractions. You should add this dependency to the project that contains your business domain logic (typically “domain”).
The Pekko runtime is available in endless-transaction-pekko
and provides PekkoTransactor
, an implementation of Transactor
which is the entry-point to create a transaction coordinator (for Akka, use endless-transaction-akka
).
Since Pekko/Akka do not allow mixed versions in a project, dependencies of endless-transaction-pekko
(and endless-transaction-akka
respectively) are marked a Provided
. This means that your application libraryDependencies
needs to directly include Pekko or Akka as a direct dependency. The minimal supported Pekko version is 1.1.2, and Akka version is 2.6.20.