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 回答