我有使用Java API編寫的客戶端服務器程序。我試圖向服務器發送一條消息,然後服務器會向Client發送一些回覆消息。然後Client向服務器發送一個poisonPill。如果服務器收到poisonpill消息,它必須關閉。下面的代碼片段相同。 在ClientActor:發送從客戶端poisonpill到服務器在阿卡
remoteActor.tell(poisonPill());
在ServerActor:
public void onReceive(Object message) throws Exception {
if (message instanceof String) {
getSender().tell(message + " got something");
} else if (message instanceof PoisonPill) {
getContext().system().shutdown();
}
}
但message instanceof PoisonPill
線不執行,從而使服務器始終運行。
任何人都可以幫助我嗎?爲什麼這條線路根本沒有執行?
該行不執行是,如果消息始終是一個字符串的唯一途徑。嘗試調試或記錄。 – Thilo
如果該消息始終是字符串,然後反正是有檢查從客戶端poisonpill? – user1442237
您remoteActor被調用poisonPill()方法。它會返回一個PoisonPill對象嗎? –