我在实现方法的侦听器时遇到了非常糟糕的时间。
在我目前的工作中,我必须每 5 秒请求一个方法以验证新信息,所以我想实现一个方法来通知我,每次有新信息出现时,每 5 秒丢弃一次请求方法。
(我已经阅读了观察者模式,但没有成功实施。)
最好的祝福
更多信息:现在我从 smack XMPP 库中重写此方法,以便将新消息存储在 msgs 队列中
public void processMessage(Chat chat, Message message) {
if (message.getType() == Message.Type.chat) {
req = message.getBody().toString();
String[] temp = { chat.getParticipant().toString(), req };
System.out.println(temp[0]+"says:"+temp[1]);
synchronized (lock) {
msgs.add(temp);
}
}
}
而且我每 0.5 秒执行一次此方法以验证新消息:
public String[] getMessage() {
synchronized (lock) {
String[] data;
data=msgs.poll();
return data;
}
}
我正在尝试设置一个通知系统,每次执行 processMessage 时都会通知我。