tree: 38326fcf4f60dded6ef427a9264ec32c7d9ee706 [path history] [tgz]
  1. src/
  2. .gitignore
  3. COPYING
  4. LICENSE
  5. pom.xml
  6. README.md
pekko-sample-persistence-java/README.md

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 and State
  • Commands define replyTo: ActorRef to send a confirmation when the event has been successfully persisted
  • State is only updated in the event handler
  • withRetention to enable snapshotting
  • onPersistFailure defines restarts with backoff in case of failures

Tests are defined in ShoppingCartTest.java. To run the tests, enter:

mvn test

The ShoppingCart application is expanded further in the pekko-sample-cqrs-java 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.