re-enable the missing three multi-jvm tests

- mostly a matter of putting correct target.nodes URIs into configs and
  adding withRouting to Props
- ScatterGather test was wrong to assume equal distribution of replies
  from connections; it is random and only the sum should add up
This commit is contained in:
Roland 2011-12-13 10:58:09 +01:00
parent d1a26a9e28
commit db7dd9450c
19 changed files with 59 additions and 55 deletions

View file

@ -57,8 +57,8 @@ class RemoteActorRefProvider(
terminationFuture.onComplete(_ remote.server.shutdown())
}
def actorOf(system: ActorSystemImpl, props: Props, supervisor: InternalActorRef, path: ActorPath, systemService: Boolean, deploy: Option[Deploy] = None): InternalActorRef =
if (systemService) local.actorOf(system, props, supervisor, path, systemService)
def actorOf(system: ActorSystemImpl, props: Props, supervisor: InternalActorRef, path: ActorPath, systemService: Boolean, deploy: Option[Deploy]): InternalActorRef = {
if (systemService) local.actorOf(system, props, supervisor, path, systemService, deploy)
else {
/*
@ -105,20 +105,23 @@ class RemoteActorRefProvider(
deployment match {
case Some(Deploy(_, _, _, _, RemoteScope(address)))
if (address == rootPath.address) local.actorOf(system, props, supervisor, path, false)
else address.parse(remote.transports) match {
// FIXME RK this should be done within the deployer, i.e. the whole parsing business
address.parse(remote.transports) match {
case Left(x)
// FIXME RK this should be done within the deployer, i.e. the whole parsing business
throw new ConfigurationException("cannot parse remote address: " + x)
case Right(addr)
val rpath = RootActorPath(addr) / "remote" / rootPath.address.hostPort / path.elements
useActorOnNode(rpath, props.creator, supervisor)
new RemoteActorRef(this, remote.server, rpath, supervisor, None)
if (addr == rootPath.address) local.actorOf(system, props, supervisor, path, false, deployment)
else {
val rpath = RootActorPath(addr) / "remote" / rootPath.address.hostPort / path.elements
useActorOnNode(rpath, props.creator, supervisor)
new RemoteActorRef(this, remote.server, rpath, supervisor, None)
}
}
case _ local.actorOf(system, props, supervisor, path, systemService)
case _ local.actorOf(system, props, supervisor, path, systemService, deployment)
}
}
}
def actorFor(path: ActorPath): InternalActorRef = path.root match {
case `rootPath` actorFor(rootGuardian, path.elements)