pekko/akka-remote/src/multi-jvm/scala/akka/remote/AbstractRemoteActorMultiJvmSpec.scala

30 lines
900 B
Scala
Raw Normal View History

package akka.remote
import com.typesafe.config.{Config, ConfigFactory}
trait AbstractRemoteActorMultiJvmSpec {
def NrOfNodes: Int
def commonConfig: Config
private[this] val remotes: Array[String] = {
2011-12-22 17:34:20 +04:00
val arrayOpt = Option(AkkaRemoteSpec.testNodes).map(_ split ",")
(arrayOpt getOrElse Array.fill(NrOfNodes)("localhost")).toArray
}
def akkaSpec(idx: Int) = "AkkaRemoteSpec@%s:%d".format(remotes(idx), 9991+idx)
def akkaURIs(count: Int): String = {
val specs = for (idx <- 0 until count) yield "\"akka://" + akkaSpec(idx) + "\""
specs.mkString(",")
}
val nodeConfigs = ((1 to NrOfNodes).toList zip remotes) map {
case (idx, host) =>
ConfigFactory.parseString("""
akka {
remote.server.hostname="%s"
2011-12-22 12:36:52 +04:00
remote.server.port = "%d"
}""".format(host, 9990+idx, idx)) withFallback commonConfig
}
}