0

JMS リスナーが動作しているかどうかをテストしたい ! そのために、キューのサイズが 5 秒以上変化しないかどうかをテストしたいのですが、これはリスナーが機能していないことを意味します。コードに何を追加すればよいでしょうか。

        try {
        if ((msgIdMap.contains(tm.getJMSMessageID())) || !(message instanceof TextMessage)) {

            System.out.println("\tListener not working !");
        } else {

                process((TextMessage) message);
        }
4

1 に答える 1

0

リスナーが正しく設計、コーディング、構成されていれば、プロバイダーに問題がない限り動作するはずです。プロバイダーに問題がある場合、プロバイダーのクライアント部分がそれを検出し、定義されている場合は ExceptionListener を呼び出す必要があります。

したがって、クラスに ExceptionListener を実装させることで、ExceptionListener を提供します。

public class MyJMSClass implements javax.jms.ExceptionListener {

次に、このクラスへの接続でリスナーを設定します。

connection.setExceptionListener(this);

次に、回復コードを提供します。

public void onException(JMSException jmse) {
    log.error("JMS exception has occured.. ", jmse);

    // handle exception appropriately, perhaps by attempting to reconnect
} 
于 2013-07-24T22:52:09.513 に答える