有一个 MessageListener 监听来自用户 A 的 processMessage,当 sendMsg 从另一个用户发送到用户 A 时,我看到 processMessage 被调用两次:
public void sendMsg(message){
Message msg = new Message();
mess.setBody(message);
// userid is the userid to whom the message will be sent to and chmanage is an instance of Chat Manager
Chat chat = chmanage.createChat(<userid>, new CListener());
chat.sendMessage(msg);
}
class CListener implements MessageListener{
@Override
public void processMessage(Chat chat, Message message) {
...
//this gets called twice
}
}
这有什么原因吗?我应该使用其他东西,例如创建 PacketCollector 或 PacketListener 吗?
最佳答案
监听器被使用了两次来监听消息并将其注册到另一个用户。在为此创建一个单独的监听器类后它就起作用了
关于java - processMessage 运行两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22680993/