我得到一个像这样的演员:
context
.actorSelection(sender.path.parent)
.resolveOne()
.map { actorRef =>
println("selfSender = " + self.path)
println("actorRefOfReceiverInSender = " + actorRef)
actorRef ! MyMessage()
}
输出(我确定应用程序中没有其他日志):
selfSender = akka://application/user/get-facebook-event
actorRefReceiverInSender = Actor[akka://application/user/events-by-place-supervisor#105204402]
所以一切似乎都好。
问题是在正确的actor中没有收到消息: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
引用的优秀演员呢?