Допустим, у меня есть руководитель, который связал 2 актеров.Когда мое приложение закрывается, я хочу изящно отключить этих актеров.Останавливает ли вызов supervisor.shutdown () всех актеров или мне все еще нужно останавливать своих актеров вручную?
Остановка супервизора (вызов Supervisor.stop()) останавливает всех связанных (контролируемых) актеров:
Supervisor.stop()
final class SupervisorActor{ ... override def postStop(): Unit = shutdownLinkedActors
Однако, когда вы хотите корректно отключить всех актеров в системе,еще один правильный способ сделать это , используя Реестр акторов (который содержит информацию обо всех актерах в системе):
Actor.registry.shutdownAll