在AKKA中,在主管上调用关闭会阻止它监督的所有演员吗?

时间:2011-02-18 20:16:13

标签: java scala akka actor akka-supervision

假设我有一位主管已经联系了两位演员。当我的应用程序关闭时,我想优雅地关闭这些演员。调用supervisor.shutdown()会停止所有演员还是我还需要手动停止我的演员?

格拉西亚斯

1 个答案:

答案 0 :(得分:8)

Stopping a supervisor(调用Supervisor.stop())会停止所有已关联(受监督)的演员:

final class SupervisorActor{
...
   override def postStop(): Unit = shutdownLinkedActors

但是,当您想要优雅地关闭系统中的所有actor时,还有另一个proper way to do that,使用Actor Registry(它包含有关系统范围内所有actor的信息):

Actor.registry.shutdownAll