2013-03-04 3 views
6

Gibt es eine elegante Möglichkeit, einen harten Neustart eines Aktors durchzuführen - d. H. Die Mailbox zusammen mit dem internen Status zu löschen?Hard-Neustart-Richtlinie in Akka?

Ich weiß, es kann durch den Aufruf context.stop und Neuinitialisierung auf die DeathWatch/Terminated Nachricht durchgeführt werden, aber das ist ein bisschen klobig.

Antwort

5

Nein, das Löschen der Mailbox ist genau das, was getan wird, indem der Aktor beendet wird. Wenn Sie das ohne Terminierungssemantik versuchen würden, wie könnten Sie jemals sicher sein, dass Sie alles gelöscht haben? Zu jedem Zeitpunkt könnten neue Nachrichten eingehen.

, also schwer zu tun Neustart Sie

  • Rückkehr der Stop Richtlinie von der Aufsichtsstrategie
  • dann ein neues Kind erstellen, sobald Sie Terminated Nachricht, die Schauspieler erhalten.