first step: sanitize ActorPath interface
- remove references to ActorSystem - make ChildActorPath light-weight (name & parent plus tailrec methods for traversing towards root, e.g. toString) - string rep is full URI always (akka://system-name@host:port/user/bla)
This commit is contained in:
parent
96598704c8
commit
dad1c98c48
11 changed files with 93 additions and 57 deletions
|
|
@ -71,22 +71,21 @@ class Remote(val system: ActorSystemImpl, val nodename: String) {
|
|||
|
||||
lazy val eventStream = new NetworkEventStream(system)
|
||||
|
||||
lazy val server: RemoteSupport = {
|
||||
val remote = new akka.remote.netty.NettyRemoteSupport(system)
|
||||
@volatile
|
||||
private var _server: RemoteSupport = _
|
||||
def server = _server
|
||||
|
||||
def start(): Unit = {
|
||||
val remote = new akka.remote.netty.NettyRemoteSupport(system, this)
|
||||
remote.start() //TODO FIXME Any application loader here?
|
||||
|
||||
system.eventStream.subscribe(eventStream.sender, classOf[RemoteLifeCycleEvent])
|
||||
system.eventStream.subscribe(remoteClientLifeCycleHandler, classOf[RemoteLifeCycleEvent])
|
||||
|
||||
// TODO actually register this provider in system in remote mode
|
||||
//provider.register(ActorRefProvider.RemoteProvider, new RemoteActorRefProvider)
|
||||
remote
|
||||
}
|
||||
_server = remote
|
||||
|
||||
def start(): Unit = {
|
||||
val serverAddress = server.system.asInstanceOf[ActorSystemImpl].provider.rootPath.remoteAddress //Force init of server
|
||||
val daemonAddress = remoteDaemon.address //Force init of daemon
|
||||
log.info("Starting remote server on [{}] and starting remoteDaemon with address [{}]", serverAddress, daemonAddress)
|
||||
log.info("Starting remote server on [{}] and starting remoteDaemon with address [{}]", remoteAddress, daemonAddress)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue