pekko/akka-docs/rst/java/code/docs
Martin Krasser cdeea924ff akka-persistence prototype
The most prominent changes compared to eventsourced are:

- No central processor and channel registry any more
- Auto-recovery of processors on start and restart (can be disabled)
- Recovery of processor networks doesn't require coordination
- Explicit channel activation not needed any more
- Message sequence numbers generated per processor (no gaps)
- Sender references are journaled along with messages
- Processors can determine their recovery status
- No custom API on extension object, only messages
- Journal created by extension from config, not by application
- Applications only interact with processors and channels via messages
- Internal design prepared for having processor-specific journal actors (for later optimization possibilities)

Further additions and changes during review:

- Allow processor implementation classes to use inherited stash
- Channel support to resolve (potentially invalid) sender references
- Logical intead of physical deletion of messages
- Pinned dispatcher for LevelDB journal
- Processor can handle failures during recovery
- Message renamed to Persistent

This prototype has the following limitations:

- Serialization of persistent messages and their payload via JavaSerializer only (will be configurable later)
- The LevelDB journal implementation based on a LevelDB Java port, not the native LevelDB (will be configurable later)

The following features will be added later using separate tickets:

- Snapshot-based recovery
- Reliable channels
- Journal plugin API
- Optimizations
- ...
2013-09-14 14:19:38 +02:00
..
actor add ActorRef.noSender() for the Java API, see #3429 2013-06-20 15:51:23 +02:00
agent Wait on shutdown of extra actor systems in tests. See #3217 2013-05-07 11:02:03 +02:00
camel Keep the order of buffered messages in Camel producer, see #3477 2013-06-27 16:45:47 +02:00
dispatcher Some more test cleanup to not create so many threads. See #3320 2013-05-08 12:42:15 +02:00
event add ActorRef.noSender() for the Java API, see #3429 2013-06-20 15:51:23 +02:00
extension Java (Eclipse) compatibility of extensions, see #3469 2013-06-24 20:27:23 +02:00
future Wrap long lines, for pdf 2013-05-30 14:45:15 +02:00
io add ActorRef.noSender() for the Java API, see #3429 2013-06-20 15:51:23 +02:00
jrouting add ActorRef.noSender() for the Java API, see #3429 2013-06-20 15:51:23 +02:00
pattern Wait on shutdown of extra actor systems in tests. See #3217 2013-05-07 11:02:03 +02:00
persistence akka-persistence prototype 2013-09-14 14:19:38 +02:00
remoting add ActorRef.noSender() for the Java API, see #3429 2013-06-20 15:51:23 +02:00
serialization Wrap long lines, for pdf 2013-05-30 14:45:15 +02:00
testkit add ActorRef.noSender() for the Java API, see #3429 2013-06-20 15:51:23 +02:00
transactor add ActorRef.noSender() for the Java API, see #3429 2013-06-20 15:51:23 +02:00
zeromq add ActorRef.noSender() for the Java API, see #3429 2013-06-20 15:51:23 +02:00