私は着信メッセージのリスナーであり、明示的に接続を切断するまで永遠に(受信メッセージをリッスンできるように)クラスする必要があります。スレッドを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);
}
}
});
}
}
呼び出しクラスは、単純にそのオブジェクトやスレッドがリスナーのコンストラクタによって開始される作成されます。
このスレッドは、中断するまで実行したままにしておきたいです。
使用otherThread.join()
:
コードを掲載することはできますか? – Rajj
[Javaでスレッドを1行にぶら下げる方法は?](http://stackoverflow.com/questions/3203139/how-do-you-hang-a-thread-in-java-in-one -line) – SSP
スレッドを投稿しました。紳士は、通常、リスナーの実行を保つために何をしていますか教えてください。 –