假设我有一位主管已经联系了两位演员。当我的应用程序关闭时,我想优雅地关闭这些演员。调用supervisor.shutdown()会停止所有演员还是我还需要手动停止我的演员?
格拉西亚斯
答案 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