1 回答

TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超8個(gè)贊
難道你不能只為你的路由器設(shè)置一個(gè)監(jiān)督策略,這樣你就可以檢查導(dǎo)致失敗的異常類型嗎?這樣你也不需要手動(dòng)重啟你的工人。
編輯:
SupervisorStrategy你這樣設(shè)置:
private static SupervisorStrategy strategy=
new OneForOneStrategy(
10,
Duration.ofMinutes(1),
DeciderBuilder.match(ArithmeticException.class,e->SupervisorStrategy.resume())
.match(NullPointerException.class,e->SupervisorStrategy.restart())
.match(IllegalArgumentException.class,e->SupervisorStrategy.stop())
.matchAny(o->SupervisorStrategy.escalate())
.build());
final ActorRef router=
system.actorOf(
new RoundRobinPool(5).withSupervisorStrategy(strategy).props(Props.create(Echo.class)));
添加回答
舉報(bào)