をActor
使用して子を作成する がありRouter
ます。子供の一人が失敗したとき。私は失敗についてstartegyで通知を受けています。ただし、Actor
は自動的に再起動しません。
private static SupervisorStrategy strategy = new OneForOneStrategy(10, Duration.create("1 minute"),
throwable -> {
Directive directive;
if (throwable instanceof SocketTimeoutException) {
directive = SupervisorStrategy.restart();
} else {
directive = SupervisorStrategy.stop();
}
return directive;
});
また、このSO 投稿から、 a の子がRouter
終了した場合、Router
は新しい子を自動的に生成しないこともわかりました。また、ルーターのすべての子が終了すると、Router
もそれ自体を終了します。
今、百万ドルの質問 - によって生成された子を再起動する正しい方法は何Router
ですか?