Scala system.shutdown无效

时间:2015-09-13 04:40:50

标签: scala akka actor remote-actors

我发送一个演员的消息来杀死另一个演员。接收者actor执行context.system.shutdown。虽然actor完全接收消息并执行case语句中指定的代码,但它不会关闭。出了什么问题?

接收演员的接收方法。

def receive = {
  ...

  case "KILL" => context.system.shutdown
}

1 个答案:

答案 0 :(得分:0)

case "KILL" => context.system.shutdown()

应该关闭整个演员系统。使用你给出的代码,我不明白为什么它不会。正如您使用 remote-actors 标记了您的问题,我可以想象您可能有一些逻辑可以在失败时重新启动远程actor系统。

然而,要杀死一个演员,你不会关闭整个系统,而是停止一个演员:

case "KILL" => context.stop(self)