1
之前,我有一個UntypedActor
與PinnedDispatcher
即啓動時,試圖做一個且只有一個任務重牛逼運行。處理殘留信息演員重啓
爲了讓演員更加敏感,任務牛逼被切成很多連續的子任務牛逼 ... 牛逼ñ,每個子任務處理程序發送self()
新消息繼續下一個子任務:
@Override
public void onReceive(Object message) throws Exception {
try {
MethodUtils.invokeMethod(this, "handleMessage", message);
} catch (NoSuchMethodException nsme) {
unhandled(message);
}
}
@SuppressWarnings("unused")
public void handleMessage(T1 message) {
doTask1();
getSelf().tell(new T2(), getSelf());
}
@SuppressWarnings("unused")
public void handleMessage(T2 message) {
doTask2();
getSelf().tell(new T3(), getSelf());
}
的問題是,如果在從其他演員的消息演員崩潰,很可能有些殘留消息(例如T3
)將保留在郵箱中重啓後。
有沒有辦法讓這種類型的actor在重啓後處於乾淨的初始狀態?