我有一个正在神秘死亡的演员,我认为原因可能是有人在向演员发送毒药。
当演员接收到PoisonPill时,我是否有办法重写它的行为,以便记录发送者以及刚收到PoisonPill的事实?那当然是除了停止演员以外的事情。
我正在使用2.4.16,在此版本中,PoisonPill行为似乎是在称为ActorCell的类中定义的。问题是该类是私有的,我无法访问它。
我也曾尝试在演员的接收函数的主体中定义一个case语句,但是在沙盒中对其进行测试似乎没有任何作用。
类似
def receive: Receive = {
case PoisonPill => println("I got poisoned.")
}
不起作用。
我知道可以在postStop方法中放置一条日志消息,但这不能让我确定PoisonPill的发件人。
有什么方法可以做我所描述的吗?