演员被解职意味着什么?

我已经问了一个有关我看到的错误的相关问题here。这个问题是关于当演员收到PoisonPill时如何覆盖行为的。在这个问题中,我要问的是演员终止时的确切含义。 (我试图解释为什么这个问题不是重复的问题。)

我正在运行的程序中引发以下异常。这是堆栈跟踪:

TickerProviderStateMixin

例外情况是告诉我发件人有一个超时的询问。显然,它要发送给的演员“已经终止。”

这是什么意思?这能告诉我有关如何调试问题的哪些信息?据我所知,我还没有故意杀死或阻止该演员。它死于某种未知原因。此外,该演员的父母似乎还活着并且身体健康,因此,不是父母丧命并将其子女带走的情况。

Akka代码库的外观告诉我,当actorRef的isTerminated方法返回true时,抛出此异常。根据isTerminated方法上方的注释,此方法“如果在本地已知演员已终止,则返回true;如果存活或不确定,则返回false”。

这告诉我,已经去世的男演员被actorSystem知道为 。这意味着什么?当actorSystem知道演员被“终止”时,我的演员如何死亡到底意味着什么?

我非常确定演员没有被杀死,因为如果是的话,我们的系统会记录在这种情况下引发的异常。这样就有可能使用stop()方法或PoisonPill使actor正常停止。但是,我浏览了整个代码库,没有人向该演员发送PoisonPill。而且在actor的代码中没有任何地方可以调用stop方法。

让我们回到我要问的问题。在什么情况下会抛出此异常?我试图通过用PoisonPill停止演员,然后在其上发起询问来在沙盒中重现该问题。我没有看到例外。显然,即使我给它发送了PoisonPill,actorSystem也不会“知道”它已终止,并且不会引发我所看到的异常。

有人知道何时抛出此异常或演员的isTerminated方法何时返回true吗?

endwar 回答:演员被解职意味着什么?

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3120245.html

大家都在问