Hello, Here is the situation: I have two actor systems "systemA" and "systemB" started in different processes. Actor system A starts before B, and doesn't do anything (B will deploy to A). Actor system B starts and creates a router actor with a remotely-deployed routee, as follows:
val router = systemB.actorOf(FromConfig.props(Props[Receiver]), "receiver") with configuration: actor.deployment { /receiver { router = round-robin-pool nr-of-instances = 1 target.nodes = [ "akka.tcp://systemA@localhost:2553" ] } (I'm only testing with 1 instance now, but there will typically be more in production) The Receiver actor, in part: class Receiver extends Actor { val workerPool = context.actorOf(FromConfig.props(Props[Worker]), name = "workerPool") ... } what I'd like to use in the configuration for "workerPool" is this: actor.deployment { /receiver ... as above ... "/receiver/*/workerPool" { router = random-pool nr-of-instances = 4 pool-dispatcher { type = BalancingDispatcher } } } But this isn't working. Again, the idea is that systemB will deploy the "Receiver" actor to systemA (as part of the round-robin-pool), and in turn the receiver actor creates a worker pool of "Worker" actors that use a balancing dispatcher. The error I see coming out of the process running "systemB" is: 16:29:44.477 [ERROR] - configuration problem while creating >> [akka://systemA/remote/akka.tcp/systemB@localhost:61012/user/receiver/c1/workerPool] >> >> with router dispatcher [akka.actor.default-dispatcher] and mailbox >> [akka.actor.default-mailbox] and routee dispatcher >> [akka.actor.default-dispatcher] and mailbox [akka.actor.default-mailbox] > > akka.actor.ActorInitializationException: exception during creation > > at akka.actor.ActorInitializationException$.apply(Actor.scala:164) > > at akka.actor.ActorCell.create(ActorCell.scala:596) > > Caused by: akka.ConfigurationException: configuration problem while >> creating >> [akka://systemA/remote/akka.tcp/systemB@localhost:61012/user/receiver/c1/workerPool] >> >> with router dispatcher [akka.actor.default-dispatcher] and mailbox >> [akka.actor.default-mailbox] and routee dispatcher >> [akka.actor.default-dispatcher] and mailbox [akka.actor.default-mailbox] > > at akka.actor.LocalActorRefProvider.actorOf(ActorRefProvider.scala:752) > > at >> akka.remote.RemoteActorRefProvider.actorOf(RemoteActorRefProvider.scala:297) > > Caused by: com.typesafe.config.ConfigException$BadPath: *path parameter: >> Invalid path >> 'akka.actor.deployment./akka.tcp/systemB@localhost:61012/user/receiver/c1/workerPool.pool-dispatcher': >> >> Token not allowed in path expression: '@' (Reserved character '@' is not >> allowed outside quotes) (you can double-quote this token if you really want >> it here)* > > at com.typesafe.config.impl.Parser.parsePathExpression(Parser.java:1057) > > at com.typesafe.config.impl.Parser.parsePath(Parser.java:1097) > > I also tried to configure the worker pool in code, as follows (based on the example in the docs<http://doc.akka.io/docs/akka/2.3-M1/scala/routing.html#Configuring_Dispatchers> ): Note: for this I have removed the "/receiver/*/workerPool" configuration entry since I was defining it in code. val workerPool = context.actorOf( RandomPool( nrOfInstances = 4, routerDispatcher = "router-dispatcher" ).props(Props[Worker].withDispatcher("my-dispatcher")), name = "workerPool" ) with "my-dispatcher" defined as: my-dispatcher { type = BalancingDispatcher } but that also didn't work, with error: 17:10:43.257 [ERROR] - Dispatcher [my-dispatcher] not configured for router of akka://systemA/remote/akka.tcp/systemB@localhost:61412/user/receiver/c1/workerPool akka.actor.ActorInitializationException: exception during creation at akka.actor.ActorInitializationException$.apply(Actor.scala:164) at akka.actor.ActorCell.create(ActorCell.scala:596) Caused by: akka.ConfigurationException: *Dispatcher [my-dispatcher] not configured for router of akka://systemA/remote/akka.tcp/systemB@localhost:61412/user/receiver/c1/workerPool* at akka.actor.LocalActorRefProvider.actorOf(ActorRefProvider.scala:735) at akka.remote.RemoteActorRefProvider.actorOf(RemoteActorRefProvider.scala:297) Have I uncovered a bug with the configuration, or is this expected behavior? Thank you, -Boris -- >>>>>>>>>> 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 akka-user+unsubscr...@googlegroups.com. To post to this group, send email to akka-user@googlegroups.com. Visit this group at http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout.