【问题标题】:processMessage runs twiceprocessMessage 运行两次
【发布时间】:2014-03-27 07:34:51
【问题描述】:

有一个 MessageListener 监听来自用户 A 的 processMessage 说,当 sendMsg 从另一个用户发送到 User 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 openfire smack


    【解决方案1】:

    Listener 被使用了两次来收听消息并将其注册给另一个用户。它在为此创建一个单独的侦听器类后工作

    【讨论】:

    • 面临同样的问题。你能解释一下吗?
    猜你喜欢
    • 1970-01-01
    • 2023-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-25
    • 2014-11-25
    • 2021-12-27
    相关资源
    最近更新 更多