Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

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

like image 820
James Avatar asked Feb 18 '11 20:02

James


1 Answers

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
like image 140
Vasil Remeniuk Avatar answered Nov 19 '22 21:11

Vasil Remeniuk