In AKKA does calling shutdown on a supervisor stop all the actors it's supervising?

1.4k views Asked by At

Let's say I have a supervisor that has linked 2 actors. When my app shutsdown I want to shutdown those actors gracefully. Does calling supervisor.shutdown() stop all the actors or do I still need to stop my actors manually?

gracias

1

There are 1 answers

0
Vasil Remeniuk On BEST ANSWER

Stopping a supervisor (calling Supervisor.stop()) stops all linked (supervised) actors:

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

However, when you want to shutdown all actors in the system gracefully, there's another proper way to do that, using Actor Registry (that holds information about all the actors systemwide):

Actor.registry.shutdownAll