akka系统。关闭并等待终止

akka系统。关闭并等待终止,akka,jruby,shutdown,Akka,Jruby,Shutdown,以下代码在我的程序的最后被调用(它是用JRuby编写的): 我发现了这种方法,但我不明白为什么它会起作用 是否等待终止等待所有参与者终止 @@system在调用之前是否已关闭 编辑:我注意到我甚至不需要打电话告诉(毒药)。我把它注释掉了,它仍然有效…好的,我现在解决了。当我调用system.shutdown时,所有参与者在完成当前任务后终止。这不是我想要的,因为队列中可能有更多任务 因此,我在主线末尾向每个演员发送一颗毒药,然后等待他们终止。我还在每个参与者中使用功能postStop,设置fin

以下代码在我的程序的最后被调用(它是用JRuby编写的):

我发现了这种方法,但我不明白为什么它会起作用

是否等待终止
等待所有参与者终止

@@system
在调用
之前是否已关闭


编辑:我注意到我甚至不需要打电话告诉(毒药)
。我把它注释掉了,它仍然有效…

好的,我现在解决了。当我调用
system.shutdown
时,所有参与者在完成当前任务后终止。这不是我想要的,因为队列中可能有更多任务

因此,我在主线末尾向每个演员发送一颗毒药,然后等待他们终止。我还在每个参与者中使用功能
postStop
,设置
finished
标志,并在所有参与者完成后关闭
系统

import Actors   # needed for Java-style poisonPill

actor1.tell(Actors::poisonPill)  # for Akka 2.0.0
actor2.tell(Actors::poisonPill)
system.awaitTermination
import Actors   # needed for Java-style poisonPill

actor1.tell(Actors::poisonPill)  # for Akka 2.0.0
actor2.tell(Actors::poisonPill)
system.awaitTermination