我有一个类,它是传入消息的侦听器,并且应该永远活着(以便它可以侦听传入消息),直到我明确断开它的连接。我已将线程声明为 setDaemon(false) 但它以调用方法终止而终止。
请告诉我如何使该线程保持活动状态,还请说明如何实现 Spring TaskExecutor 以实现相同的目标。
提前致谢。它是一个监听器,当有人发送消息时它会收到通知......那么我如何让它保持运行呢?
监听类
public class MyListnerImpl implements Listener {
private final connectionImpl con;
public MyListnerImpl(ConnectionImpl con) {
if (con.isAuthenticated() && con.isConnected()) {
if (logger.isInfoEnabled()) {
logger.info("Initializing XmppListner:");
}
this.itsCon = con;
Thread t1 = new Thread(this);
t1.setDaemon(false);
t1.start();
}
}
public final void listnerInterfaceMethod(final Chat chat, final Message message) {
System.out.println("Message" + message);
}
public final void run() {
itsCon.getChatManager().addChatListener(new ChatManagerListener() {
public void chatCreated(final Chat chat, final boolean createdLocally) {
if (!createdLocally) {
chat.addMessageListener(itsFbml);
}
}
});
}
}
调用类只是创建它的对象,线程由 Listeners 构造函数启动。
我想保持这个线程创建运行,直到我中断它。