* Separate routing logic, to be usable stand alone, e.g. in actors
* Simplify RouterConfig, only a factory
* Move reading of config from Deployer to the RouterConfig
* Distiction between Pool and Group router types
* Remove usage of actorFor, use ActorSelection
* Management messages to add and remove routees
* Simplify the internals of RoutedActorCell & co
* Move resize specific code to separate RoutedActorCell subclass
* Change resizer api to only return capacity change
* Resizer only allowed together with Pool
* Re-implement all routers, and keep old api during deprecation phase
* Replace ClusterRouterConfig, deprecation
* Rewrite documentation
* Migration guide
* Also includes related ticket:
+act #3087 Create nicer Props factories for RouterConfig
* This can't go into 2.2.x since ScalaTest 1.9.2-SNAP2 has source incompatible changes and the dependecy in akka-multi-node-node-testkit would force people to upgrade.
- add “mailbox-requirement” key to dispatcher section
- split out mailbox section, add akka.actor.default-mailbox
- rewrite findMarker method and use it for Props.create() and getting
the required mailbox of an actor
- add ProducesMessageQueue trait for MailboxType so that requirements
can be checked before trying to create the actor for real
- verify actor as well as dispatcher requirements for message queue
before creation, even in remote-deployed case
- change MessageDispatcher constructor to take a Configurator, add that
to migration guide
* The problem was a race caused by HeartbeatReq sent out, and
the watchee terminated immediately. That caused the RemoteWatcher
peers watching each other without any other watch registered.
It is racy.
* Instead of one-way heartbeats from the side beeing watched I
changed to ping-pong style. That makes the problem go away
and simplifies a lot of things in RemoteWatcher.
* UnreachableNodeJoinsAgain failed because of gated connection
* Removed default test value of retry-gate-closed-for, instead
default from reference.conf is used, i.e. 0s
* deadLetters logging love
* Deprecate all actorFor methods
* resolveActorRef in provider
* Identify auto receive message
* Support ActorPath in actorSelection
* Support remote actor selections
* Additional tests of actor selection
* Update tests (keep most actorFor tests)
* Update samples to use actorSelection
* Updates to documentation
* Migration guide, including motivation
- Moved system messages to their own package.
- All queueing operations are now hidden behind a SystemMessageList value class
- Introduced dual SystemMessageList types to encode the ordering in the type.
- Protects against accidentally missed reverse calls or accidentally reversed lists
- Makes ordering expectations by fields/parameters explicit
- Fixed serialization tests
- Fixes to logging in HierarchyStressSpec