make remote supervision and path continuation work

- 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)
This commit is contained in:
Roland 2011-12-09 00:02:27 +01:00
parent fac840adfc
commit e5bd8b5f88
10 changed files with 391 additions and 270 deletions

View file

@ -7,6 +7,10 @@ import akka.testkit._
import akka.actor._
import com.typesafe.config._
object RemoteCommunicationSpec {
val echo = Props(ctx { case x ctx.sender ! x })
}
class RemoteCommunicationSpec extends AkkaSpec("""
akka {
actor.provider = "akka.remote.RemoteActorRefProvider"
@ -16,9 +20,16 @@ akka {
hostname = localhost
port = 12345
}
actor.deployment {
/user/blub {
remote.nodes = ["remote_sys@localhost:12346"]
}
}
}
""") with ImplicitSender {
import RemoteCommunicationSpec._
val conf = ConfigFactory.parseString("akka.remote.server.port=12346").withFallback(system.settings.config)
val other = ActorSystem("remote_sys", conf)
@ -67,6 +78,13 @@ akka {
}(other)
}
"create children on remote node" in {
val r = system.actorOf(echo, "blub")
r.path.toString must be === "akka://remote_sys@localhost:12346/remote/RemoteCommunicationSpec@localhost:12345/user/blub"
r ! 42
expectMsg(42)
}
}
}