我发送一个演员的消息来杀死另一个演员。接收者actor执行context.system.shutdown
。虽然actor完全接收消息并执行case语句中指定的代码,但它不会关闭。出了什么问题?
接收演员的接收方法。
def receive = {
...
case "KILL" => context.system.shutdown
}
答案 0 :(得分:0)
case "KILL" => context.system.shutdown()
应该关闭整个演员系统。使用你给出的代码,我不明白为什么它不会。正如您使用 remote-actors 标记了您的问题,我可以想象您可能有一些逻辑可以在失败时重新启动远程actor系统。
然而,要杀死一个演员,你不会关闭整个系统,而是停止一个演员:
case "KILL" => context.stop(self)