我有使用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对象吗? –