No description
Find a file
Konrad Malawski f57470926e =act #3623 unsubscribe when actors terminate, instead of isTerminated
* Moved to removing actors proactively when they are terminated instead of
  checking `isTerminated` during publish.
* Subscribers which have registered before initializing the unsubscriber
  will be aggregated in a Seq until one is registered and then it will
  take responsibility of unregistering them on termination.
* Initialization of the unsubscriber can only be run once - attempting
  to initialize the event stream with another unsubscriber will fail,
  and init will return false.
* Assumed having an init (mutable) method on the `EventBus` is fine, as
  it has such methods already and @patriknw's comment in the task for
  this.
* since we must check if the subscriber has any subscribed channels left
  we had to expose this detail from SubchannelClassification via
  `hasSubscriptions`. Increases cost of ubsubscribe(actor, channel) a bit.
* Evacuated the expensive `hasSubscription` call out of eventstream's `unsubscribe` call, and instead making the Unsubscriber check this before it stops watching an actor. If in the mean time the same actor got subscribed, there will be a new Subscribe message emited - so we're good on that side. Also, if it would terminate before the unsubscriber gets the Register message it will call `watch(actor)` on a dead actor, which results in getting Terminated for it, thus we'll stop watching it from the Unsubscriber as expected.

Final squash and small cleanup. Please review again;
2014-04-16 12:13:21 +02:00
akka-actor/src/main =act #3623 unsubscribe when actors terminate, instead of isTerminated 2014-04-16 12:13:21 +02:00
akka-actor-tests/src/test =act #3623 unsubscribe when actors terminate, instead of isTerminated 2014-04-16 12:13:21 +02:00
akka-agent/src Changes all occurances of Typesafe copyright to extend to 2014. 2014-02-04 21:20:09 -06:00
akka-camel/src !act,rem,clu #3920 Remove deprecated old routers 2014-03-14 14:12:11 +01:00
akka-cluster/src =clu #3973 Make JoinSeedNodeProcess actor name unique 2014-04-07 14:06:38 +02:00
akka-contrib =con #3993 Send UnsubscribeAck in DistributedPubSubMediator to the right sender 2014-04-11 14:50:56 +03:00
akka-docs Merge pull request #13994 from akka/wip-assembla-migration-∂π 2014-04-14 14:57:17 +02:00
akka-kernel/src/main =pro,sam,act Change version to 2.4-SNAPSHOT 2014-03-07 14:53:35 +01:00
akka-multi-node-testkit/src/main +act,mul #3948 add MultiNodeSpec.startNewSsytem() and system.abort() 2014-03-21 20:43:06 +01:00
akka-osgi/src Changes all occurances of Typesafe copyright to extend to 2014. 2014-02-04 21:20:09 -06:00
akka-persistence/src Merge pull request #2119 from akka/wip-3974-sharding-NoSuchElementException-master-patriknw 2014-04-09 14:04:01 +02:00
akka-remote/src =rem #3967 Handle refused connections as association failures 2014-04-07 15:27:17 +02:00
akka-remote-tests/src =rem 3933: Quarantine piercing should not lose quarantine marker 2014-03-25 15:10:45 +01:00
akka-samples =pro sbt-0.13.2-RC2 with name hashing, scala 2.10.4 2014-04-11 14:11:02 +02:00
akka-slf4j/src Changes all occurances of Typesafe copyright to extend to 2014. 2014-02-04 21:20:09 -06:00
akka-testkit/src +act,mul #3948 add MultiNodeSpec.startNewSsytem() and system.abort() 2014-03-21 20:43:06 +01:00
akka-zeromq/src !act #3920 Remove Timeout constructor without unit 2014-03-14 14:12:33 +01:00
atmos/src/main/resources Trace all system actors 2013-06-27 16:03:30 +02:00
project =pro sbt-0.13.2-RC2 with name hashing, scala 2.10.4 2014-04-11 14:11:02 +02:00
scripts =per #3915 Make become work during recovery for EventsourcedProcessor et.c. 2014-03-22 00:47:03 +01:00
src/main/ls Update ls.implicit.ly sbt settings 2012-03-10 10:30:38 +13:00
.gitignore !osg, pro Updated OSGi dependencies and using a BundleDelegatingClassLoader 2014-02-02 16:21:44 +01:00
CONTRIBUTING.md =doc switch to GitHub Issues 2014-04-13 18:38:11 +02:00
LICENSE Changes all occurances of Typesafe copyright to extend to 2014. 2014-02-04 21:20:09 -06:00
README.textile =pro clean up build 2013-12-13 21:06:13 +01:00

h1. Akka

We believe that writing correct concurrent, fault-tolerant and scalable applications is too hard. Most of the time it's because we are using the wrong tools and the wrong level of abstraction.

Akka is here to change that.

Using the Actor Model we raise the abstraction level and provide a better platform to build correct concurrent and scalable applications.

For fault-tolerance we adopt the "Let it crash" model which the telecom industry has used with great success to build applications that self-heal and systems that never stop.

Actors also provide the abstraction for transparent distribution and the basis for truly scalable and fault-tolerant applications.

Akka is Open Source and available under the Apache 2 License.

Learn more at "http://akka.io":http://akka.io.