- add supervisor to remote USE message
- make remoteDaemon a VirtualPathContainer like
LocalActorRefProvider.tempContainer (i.e. synchonous with CHM-based
child lookup), scrap remoteDaemonSupervisor and rename remoteDaemon to
“/remote” to match the plans in the docs
- comment out the remote deployment configuration section, to be done
when Henrik is finished with RoutedActorRef work
- for now only “remote.nodes = ["sys@host:port"]” is looked at, i.e. if
at least one is present, the first one is used to determine where to
deploy the currently created child (routers will do the scaling-out
component) [rest is commented out]
- multi-jvm tests not yet re-enabled (need to be adapted), but all other
tests are GREEN (at least on my machine)
- moved RemoteInterface.scala into akka-remote, not needed anymore since
the plugin is loaded as ActorRefProvider now
- removed some old unused imports
- split out remote aspects from Deployer & DeployerSpec into
RemoteDeployer & RemoteDeployerSpec (the latter in akka-remote)
- created a ticket for cleaning up the rest, mostly remove all
occurrences of “remote” and “cluster” from akka-actor in this way
All of this was triggered by wanting to:
- change the signature of RemoteSupport.send to require a RemoteActorRef
recipient
- ensure that no “complex” things are attached to a LogEvent (think
serialization)
- ensure no escaping the “this” reference via LoggingBus during
constructors (e.g. ActorSystem)
- change it so that
+ Actor/ActorRef are represented by their address
+ Class[_] by simpleName
+ String by itself
- this means that people need to think a little more while deciding how
“this” should look like in logging (which I think is a good thing)
- 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
BalancingDispatcherModelSpec is currently broken, leaves count==1 in
wavesOfActors test, committed anyway in order to check out where it
broke before this merge
most tests passing, everything compiling, but docs not updated and nasty
thread-leak preventing me from running the whole test-suite (which is
the reason for this commit: I want to chase down that one first).
- the app.mainbus is classified by Class[_] (currently lookup, will
possibly change to sub-class-aware) and accepts AnyRef messages
- LoggingBus handles akka.event-handlers from config specially:
+ start them as system services, supervised by SystemGuardian
+ keep their subscriptions in sync when logLevel_= is called
+ send them InitializeLogger(bus) message before subscribing them (so
they can register for extras like Mute/UnMute)
- two-phased start-up: first phase with actor-less stdout logging, then
subscription of config loggers, then remove stdout logger (logLevels
configurable separately)
- MainBusReaper watches registered receivers and unsubscribes them upon
death (started in phase 2)
- logger factory on Logging object, needs app/bus and log source;
default instance in app.log
- 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>