остановить всех участников системы, не выключая саму систему? - PullRequest
6 голосов
/ 20 февраля 2012

В Akka 2.0 есть хороший способ отключить всех актеров под путем / пользователем? Например, предположим, что я делаю следующее:

val system = ActorSystem.create("mySystem")

system.actorOf(Props(new MyActor1), "actor1")
system.actorOf(Props(new MyActor2), "actor2")

Через некоторое время я решил, что хочу остановить всех актеров в системе. Если я правильно понимаю вещи, actor1 и actor2 будут дочерними элементами пути / пользователя, но я не вижу метода, который дает мне итерируемый дочерний элемент ActorRef. Есть ли другой способ?

1 Ответ

13 голосов
/ 20 февраля 2012

Используйте выбор актера, чтобы отправить PoisonPill всем актерам высшего уровня:

system.actorSelection("/user/*") ! PoisonPill
...