public RemoteRouterSpec()
: base(@"
akka.test.single-expect-default = 6s #to help overcome issues with GC pauses on build server
akka.remote.retry-gate-closed-for = 1 s #in the event of a Sys <--> System2 whoosh (both tried to connect to each other), retry quickly
akka.actor.provider = ""Akka.Remote.RemoteActorRefProvider, Akka.Remote""
akka.remote.helios.tcp {
hostname = 127.0.0.1
port = 0
}
akka.actor.deployment {
/remote-override {
router = round-robin-pool
nr-of-instances = 4
}
}
")
{
// ReSharper disable once PossibleInvalidOperationException
port = Sys.AsInstanceOf<ExtendedActorSystem>().Provider.DefaultAddress.Port.Value;
sysName = Sys.Name;
conf = ConfigurationFactory.ParseString(@"
akka {
actor.deployment {
/blub {
router = round-robin-pool
nr-of-instances = 2
target.nodes = [""akka.tcp://${sysName}@127.0.0.1:${port}""]
}
/elastic-blub {
router = round-robin-pool
resizer {
enabled = on
lower-bound = 2
upper-bound = 3
}
target.nodes = [""akka.tcp://${sysName}@127.0.0.1:${port}""]
}
/remote-blub {
remote = ""akka.tcp://${sysName}@127.0.0.1:${port}""
router = round-robin-pool
nr-of-instances = 2
}
/local-blub {
remote = ""akka://${masterSysName}""
router = round-robin-pool
nr-of-instances = 2
target.nodes = [""akka.tcp://${sysName}@127.0.0.1:${port}""]
}
/local-blub2 {
router = round-robin-pool
nr-of-instances = 4
target.nodes = [""akka.tcp://${sysName}@127.0.0.1:${port}""]
}
}
}
".Replace("${masterSysName}", "Master" + sysName).Replace("${sysName}", sysName).Replace("${port}", port.ToString())).WithFallback(Sys.Settings.Config);
masterActorSystem = ActorSystem.Create("Master" + sysName, conf);
intendedRemoteAddress = Address.Parse("akka.tcp://${sysName}@127.0.0.1:${port}"
.Replace("${sysName}", sysName)
.Replace("${port}", port.ToString()));
}