Guys,
Why routees are not deployed in this case? I'm using round-robin-pool and I
set allow-local-routees = off but the multi-jvm test show deadletter. Here
a simple multi-jvm test to show my problem:
import akka.actor._
import akka.cluster.Cluster
import akka.remote.testconductor.RoleName
import akka.remote.testkit.{MultiNodeConfig, MultiNodeSpec}
import akka.routing.FromConfig
import akka.testkit.ImplicitSender
import com.typesafe.config.ConfigFactory
import scala.concurrent.duration._
import akka.remote.testkit.MultiNodeSpecCallbacks
import org.scalatest.{BeforeAndAfterAll, Matchers, WordSpecLike}
trait STMultiNodeSpec extends MultiNodeSpecCallbacks
with WordSpecLike with Matchers with BeforeAndAfterAll {
override def beforeAll() = multiNodeSpecBeforeAll()
override def afterAll() = multiNodeSpecAfterAll()
}
class EchoActor extends Actor{
override def receive: Receive = {
case x => sender() ! x
}
}
object EventLogMultiNodeConfig extends MultiNodeConfig {
val node1 = role("node1")
val node2 = role("node2")
val node3 = role("node3")
commonConfig(ConfigFactory.parseString("""
akka.cluster.metrics.enabled=off
akka.actor.provider = "akka.cluster.ClusterActorRefProvider"
akka.actor.deployment {
/echo {
router = round-robin-pool
cluster {
enabled = on
max-nr-of-instances-per-node = 3
allow-local-routees = off
}
}
}
"""))
}
class ClusterRoundRobinSpecMultiJvmNode1 extends ClusterRoundRobinSpec
class ClusterRoundRobinSpecMultiJvmNode2 extends ClusterRoundRobinSpec
class ClusterRoundRobinSpecMultiJvmNode3 extends ClusterRoundRobinSpec
class ClusterRoundRobinSpec extends MultiNodeSpec(EventLogMultiNodeConfig)
with STMultiNodeSpec with ImplicitSender{
import EventLogMultiNodeConfig._
override def initialParticipants = roles.size
def join(from: RoleName, to: RoleName) = {
runOn(from){
Cluster(system) join node(to).address
}
enterBarrier(from.name+"-joined")
}
"Test " must {
"join to cluster" in within(15 seconds) {
join(node1, node1)
join(node2, node1)
join(node3, node1)
enterBarrier("after-1")
}
"receive echo message" in {
runOn(node1){
val echo = system.actorOf(FromConfig.props(Props[EchoActor]), "echo")
echo ! "123"
expectMsg("123")
}
enterBarrier("after-2")
}
}
}
Only set allow-local-routees-off ensure remote deploy?
--
>>>>>>>>>> Read the docs: http://akka.io/docs/
>>>>>>>>>> Check the FAQ:
>>>>>>>>>> http://doc.akka.io/docs/akka/current/additional/faq.html
>>>>>>>>>> Search the archives: https://groups.google.com/group/akka-user
---
You received this message because you are subscribed to the Google Groups "Akka
User List" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/d/optout.