6

アクターのハード リスタートを行う洗練された方法はありますか?つまり、内部状態と共にメールボックスをクリアしますか?

context.stopメッセージを呼び出して再初期化することで実行できることはわかっていDeathWatch / Terminatedますが、それは少し面倒です。

4

1 に答える 1

5

いいえ、メールボックスを空にすることは、まさにアクターを終了させることによって行われることです。終了セマンティクスなしでそれを試した場合、すべてをクリアしたと確信できるでしょうか? いつでも新しいメッセージが届く可能性があります。

だから、その難しいことをするためにあなたを再起動します

  • Stopスーパーバイザー戦略からのディレクティブを返す
  • Terminatedそのアクターのメッセージを受け取ったら、新しい子を作成します。
于 2013-03-06T18:19:06.240 に答える