- split out actual routing functionality into *Like traits to be
reusable
- make RemoteRouterConfig which only differs in how remote placement is
initiated
- teach RemoteDeployer how to convert local RouterConfig in case config
key “target.nodes” is set
- IT WORKS! All tests GREEN
- oh, yeah, had to make ActorPath serializable ...
- pull some more generic stuff out of the individual routers, add
factories which take only target lists
- add router parsing to Deployer, removing everything which is not
strictly related to local scope, which left only few things, so move
them to Deployer.scala and delete DeploymentConfig
- fix ConfiguredLocalRoutingSpec to use the new configuration mechanism
and verify that configuration overrides code
- fix DeployerSpec by using (mostly) correct lookup paths and removing
everything which was not local
- change config file layout, removing everything which is not local from
akka-actor/.../reference.conf, putting the remote stuff into the
akka-remote/.../reference.conf (unused as of yet); adapt comments
according to changed functionality
* Added JavaActorContext, UntypedActor.getContext
* implicit val context in Actor needs to be implicit to support forward,
it would be nice if it wasn't implicit because now I can't override context
in UntypedActor
* Removed implicit def system in Actor
* Removed implicit def defaultTimeout in Actor
* Removed receiveTimeout, children, dispatcher, become, unbecome, watch,
unwatch in Actor
* Removed corresponding as above from UntypedActor
* Removed implicit from dispatcher in ActorSystem
* Removed implicit def timeout in TypedActor
* Changed receiveTimeout to use Duration (in api)
* Changed many tests and samples to match new api
- create ActorSystemImpl trait to make ActorSystem fully abstract
- add Java API for constructing (ActorSystem.create(...))
- only go through factory methods because .start() has become necessary
- rename all user-facing occurrences of “app” to “system” (Actor trait
and TestKit/AkkaSpec)
- pass ActorSystemImpl to ActorRefs upon creation, which means that
actorOf() and friends need such an argument, which must be provided to
the ActorRefProvider by the ActorRefFactory implementation
- Decoupled FailureDetector from Routing by introducing ConnectionManager which uses FailureDetector instead of it being the same thing.
- Added ConnectionManager
- Added LocalConnectionManager
- Added RemoteConnectionManager
- Improved RoutedProps
- Integrated and added configuration for Scatter Gather router
- Added NoOpFailureDetector
- Misc API and documentation improvements
Signed-off-by: Jonas Bonér <jonas@jonasboner.com>
2. Added first replication test (out of many)
3. Improved ScalaDoc
4. Enhanced the remote protocol with replication info
Signed-off-by: Jonas Bonér <jonas@jonasboner.com>
- move akka.testing from akka-actor-tests to akka-testkit/akka.testkit
- move timeFactor from Testing to Duration and add .dilated method
- add Duration.{min, max}
- add TestKit.awaitCond
- use Duration.dilated on all max Durations in TestKit
- fix up loose ends
Conflicts:
akka-actor-tests/src/main/scala/akka/testing/Testing.scala
akka-actor-tests/src/test/scala/akka/actor/actor/ActorRefSpec.scala
akka-actor-tests/src/test/scala/akka/actor/supervisor/SupervisorSpec.scala
akka-actor-tests/src/test/scala/akka/routing/RoutingSpec.scala
akka-actor/src/main/scala/akka/util/Duration.scala
akka-remote/src/test/scala/remote/RemoteTypedActorSpec.scala
akka-testkit/src/main/scala/akka/testkit/TestBarrier.scala
akka-testkit/src/main/scala/akka/testkit/TestKit.scala
akka-typed-actor/src/test/scala/actor/typed-actor/TypedActorLifecycleSpec.scala
Reason: 'pingPongActor.?(Ping)(timeout = TimeoutMillis)' breaks old user code and is so ugly. It is not worth it. Now user write (as he used to): 'pingPongActor ? (Ping, TimeoutMillis)'
2. Fixed broken Cluster communication
3. Added constructor with only String arg for UnhandledMessageException to allow client instantiation of remote exception
Signed-off-by: Jonas Bonér <jonas@jonasboner.com>