Akka 2.3-M2 (PRE-RELEASE MILESTONE)

Dear hakkers,

We—the Akka committers—are pleased to be able to announce the availability of Akka 2.3-M2 (PRE-RELEASE MILESTONE TWO). It is a preview on what is going to become Akka 2.3, so please give us feedback! This is probably the last milestone before the first 2.3.0 release candidate, which is estimated to be available at the end of January 2014.

The most exciting new feature in 2.3 is Akka Persistence, developed by Martin Krasser in collaboration with the Akka team. It allows stateful actors to persist their internal state so that it can be recovered when an actor is started, restarted by a supervisor or migrated in a cluster. It also allows stateful actors to recover from JVM crashes or other disasters. The key concept behind Akka Persistence is that instead of storing an actor’s state you persist the changes that are applied to it. These changes are immutable facts that are appended to a journal, which allows for very high transaction rates and efficient replication. Stateful actors are recovered by replaying stored changes, rebuilding the actors’ internal state. Akka Persistence also provides point-to-point communication channels with at-least-once message delivery semantics.

Akka Persistence features in 2.3-M2 include:

event sourcing and command sourcing

automatic or manual recovery

state snapshots to reduce recovery times

journal and snapshot store plugin APIs

channels as gateways to other services

channels for reliable delivery of messages

persistent FSMs

Other notable features in this release are:

Sharding of actors in a cluster. The typical use case for this feature is when you have many stateful actors that together consume more resources (e.g. memory) than fit on one machine. You need to distribute them across several nodes in the cluster and you want to be able to interact with them using their logical identifier, but without having to care about their physical location in the cluster, which might also change over time. It could for example be actors representing Aggregate Roots in Domain-Driven Design terminology.

ActorSelection was made faster and not blocked by intermediate actors performing long-running tasks.

Allow outgoing connection to a previously failed and now restarted actor system with same host and port without having to wait for the quarantine period to elapse.

Allow actor selections in untrusted mode, restricted using a white-list.

When migrating an existing project from Akka 2.2.3 please have a look at the migration guide.

The artifacts comprising this release have been published to https://oss.sonatype.org/content/repositories/releases/ and also to Maven Central. In addition, we adopted the sbt standard of encoding the Scala binary version in the artifact name, i.e. the core actor package’s artifactId is “akka-actor_2.10”.

Welcome to the Lightbend Enterprise Suite

You are excited about Reactive applications. And you want to build, manage and monitor them easily and reliably in your environment.We get it. So we built Lightbend Enterprise Suite to help you do that, and more, with a range of powerful Application Management, Intelligent Monitoring, Enterprise Integration and Advanced Tooling features.

One node: Get started by trying the Application Management features on 1 node.Click here to proceed. NO REGISTRATION REQUIRED

Welcome to the Lightbend Enterprise Suite

You are excited about Reactive applications. And you want to build, manage and monitor them easily and reliably in your environment.We get it. So we built Lightbend Enterprise Suite to help you do that, and more, with a range of powerful Application Management, Intelligent Monitoring, Enterprise Integration and Advanced Tooling features.

One node: Get started by trying the Application Management features on 1 node.Click here to proceed. NO REGISTRATION REQUIRED