Scala Akka:ActorRef已解析,但消息会发送给其他参与者(其子级)
我得到一个这样的演员:Scala Akka:ActorRef已解析,但消息会发送给其他参与者(其子级),scala,akka,actor,Scala,Akka,Actor,我得到一个这样的演员: context .actorSelection(sender.path.parent) .resolveOne() .map { actorRef => println("selfSender = " + self.path) println("actorRefOfReceiverInSender = " + actorRef) actorRef ! MyMessage() } 它输出(我确信应用程序中没有其他日志):
context
.actorSelection(sender.path.parent)
.resolveOne()
.map { actorRef =>
println("selfSender = " + self.path)
println("actorRefOfReceiverInSender = " + actorRef)
actorRef ! MyMessage()
}
它输出(我确信应用程序中没有其他日志):
看来一切都好
问题在于,消息不是在正确的参与者中接收的:events by place supervisor
(通过resolveOne
方法找到),而是在其子级中接收的,如来自子级的以下日志所示:
selfChild = akka://application/user/events-by-place-supervisor/get-events-by-places
senderInChild = Actor[akka://application/user/get-facebook-event#1400767854]
因此,它来自好的发送者,但接收者不是通过resolveOne
方法找到的,而是它的子对象。怎么可能
actorRef!MyMessage()
不会将消息发送给actorRef
引用的优秀参与者?能否粘贴完整的参与者创建、消息发送以及MyMessage()代码段。无法找出根本原因的信息太少。能否粘贴完整的参与者创建、消息发送以及MyMessage()代码段。信息太少,无法找出根本原因。
selfChild = akka://application/user/events-by-place-supervisor/get-events-by-places
senderInChild = Actor[akka://application/user/get-facebook-event#1400767854]