Контекст Akka watch/unwatch происходит перед отношением

У меня есть следующие последовательные действия над двумя актерами, родителемPи дочернимC:

  1. Pотслеживает C( отслеживание контекста c)
  2. Pотменяет отслеживание C( контекст unwatch c)
  3. Pостанавливает Cизящно ( c ! PoisonPill)

Я хочу знать следующее; Гарантирую ли я, что Pне получит событие Terminatedдля C?

Вот пример кода

class HappensBefore extends App {
  class C extends Actor { def receive = {} } 
  class P extends Actor {
    val c = context actorOf Props[C]
    context watch c
    context unwatch c
    c ! PoisonPill
    def receive = { case Terminated(child) => println("Oh Noes!") }
  }
  ActorSystem("test") actorOf Props[P]
}
6
задан oxbow_lakes 14 May 2012 в 17:28
поделиться