Akka Toolkit 2.3 with Java 8 and Persistence Support
The latest version of the Akka toolkit comes with persistence enabling stateful actors to persist their internal state. The recently released version 2.3.0 is also prepared for support of Java 8 lambda expressions.
In Akka persistence, instead of current state, each change to an actor’s state are persisted. Changes are appended to a journal and an actors’ internal state can be rebuilt by replaying the stored changes. Support for event sourcing and at-least-once message deliveries is also provided.
Using Java 8 and lambda expressions, both Actors and Finite State Machines (FSM) may now be implemented using lambda syntax thus removing the need for declaring anonymous inner classes.
Both the persistence module and the lambda support are marked as experimental with an ambition to improve the API based on feedback from users.
Other improvements include:
- A cluster can from being partially unreachable now come back to working as normally again with the failure condition cleared when the affected nodes becomes responsive.
- Cluster sharding can be used to distribute stateful actors over several nodes when the actors consume more resources than one machine can supply.
- Removal of the experimental label from Akka IO package, but with the Pipeline infrastructure discontinued.
- The OSGi support has been reworked to make akka-actor an OSGi bundle.
The documentation together with a getting started guide has been updated to reflect the changes in the framework. Akka is also part of a larger sample of a reactive platform.
The new release contains some structural modifications requiring code changes when upgrading from 2.2.*. Upgrading from earlier version may require some extra steps.
The Akka toolkit is an implementation of the Actor Model, available with both a Java and a Scala API. This 2.3 release is the first step in a larger milestone planned for second half of 2014.
Akka is an open source product, licensed under the Apache 2 License.
Vaughn Vernon, author of Implementing Domain-Driven Design, talked last year about actor model in reactive domain-driven design and in an earlier talk about the foundation for actor model together with DDD.
A forum for Akka users is available with more than 3000 members.