Base aggregate manager.
Provides an Akka-Streams Source that produces EventEnvelope2s.
Provides an Akka-Streams Source that produces EventEnvelope2s. TODO: document it with implementation example
Defines a passivation strategy that will kill child actors when creating a new child will push us over a threshold
Does NOT persist the offset forcing a full stream read each time
Defines how the projection offset should be persisted
Defines a passivation strategy for aggregate instances.
Persist Last Processed Event Offset as Projection Event in akka-persistence
Persist Last Processed Event Offset as Projection Event in akka-persistence
This implementation is a quick win for those that simply want to persist the offset without caring about the persistence layer.
However, the drawback is that most (if not all) akka-persistence plugins will save it as binary data which make it difficult to inspect the DB to get to know the last processed event.
Read and save from a database.
A ProjectionActor that saves the offset using a CustomOffsetPersistenceStrategy
A ProjectionActor that saves the offset as a snapshot in Akka Persistence
A ProjectionActor that saves the offset as a snapshot in Akka Persistence
This implementation is a quick win for those that simply want to persist the offset without caring about the persistence layer.
However, the drawback is that most (if not all) akka-persistence snapshot plugins will save it as binary data which make it difficult to inspect the DB to get to know the last processed event.
A ProjectionActor that never saves the offset causing the event stream to be read from start on each app restart
Parent actor for all ProjectionActors
Common trait for Passivation Strategies that decides which actor to stop based on the list of current active AggregateActors
Base aggregate manager. Handles communication between client and aggregate. It is also capable of aggregates creation and removal.