MongoDB plug-in enables a change journal for Akka stateful actors on MongoDB. When actors append their changes to storage, they provide a unique ID named persistenceId.
Keeping the journal consists of:
– recording changes to make possible recovery of the actor’s current state,
– recording on a regular basis the current state (a snapshot) which makes it possible to follow changes starting from this point.
Originally, changes and states were registered in the same MongoDB storage (a common journal or a common snapshot), no matter the actor. Newly added functionality enables to record in a storage chosen according to the persistenceId of each actor.
The scope of modification:
– creating or localizing on the fly the changes journal and the snapshot, according to persistenceId,
– implementing an interface allowing the end user to create storage names depending on persistenceId,
– adapting plug-in functions during writing or reading the journals,
– adjusting plug-in configuration.
More: https://github.com/scullxbones/akka-persistence-mongo
Apache 2.0 licence: https://github.com/scullxbones/akka-persistence-mongo/blob/master/LICENSE)
Akka Persistence: http://doc.akka.io/docs/akka/current/scala/persistence.html