Apache Pekko Persistence with Scala
This example illustrates event sourcing with Apache Pekko Persistence.
Study the source code of the ShoppingCart.scala. A few things to note:
- The actor is implemented with the
EventSourcedBehavior
- It defines
Command
,Event
andState
- Commands define
replyTo: ActorRef
to send a confirmation when the event has been successfully persisted State
is only updated in the event handlerwithRetention
to enable snapshottingonPersistFailure
defines restarts with backoff in case of failures
Tests are defined in ShoppingCartSpec.scala. To run the tests, enter:
sbt
sbt:pekko-sample-persistence-scala> test
The ShoppingCart
application is expanded further in the pekko-sample-cqrs-scala
sample. In that sample the events are tagged to be consumed by even processors to build other representations from the events, or publish the events to other services.
0.1.0*