我正在使用 Java 的 Akka 框架,版本 2.3.9
一切都很顺利,但回调有问题。
当我跑去回调时
getSender().tell(null, self());
我进入日志
[akka://system/user/TowerOfDeath:Current:266:ceil:34] Message is null
akka.actor.InvalidMessageException: Message is null
at akka.pattern.PromiseActorRef.$bang(AskSupport.scala:266)
at akka.actor.ActorRef.tell(ActorRef.scala:123)
没关系,我不能发送 null,制作了小型通用消息并解决了问题。 但如果发生这个错误, Actor 就会死亡。我相信有时可能会产生包,我将在其中发送对象,但现在为空。
在这种情况下热衷于恢复 Actor 吗?
感谢您的帮助。
最佳答案
使用监督,它允许父参与者决定如何处理这样的失败(错误):
这是一个示例:http://doc.akka.io/docs/akka/2.3.14/java/fault-tolerance.html#Creating_a_Supervisor_Strategy
了解更多信息:
http://doc.akka.io/docs/akka/2.3.14/general/supervision.html http://doc.akka.io/docs/akka/2.3.14/java/fault-tolerance.html
关于java - Akka 消息为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32854610/