测试jms监听器是否正常工作

时间:2013-07-22 09:20:53

标签: testing jms listener

我想测试JMS监听器是否正常工作!  要做到这一点,我想测试队列大小是否超过5秒,这意味着监听器不工作 我应该在我的代码中添加什么

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

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

                process((TextMessage) message);
        }

1 个答案:

答案 0 :(得分: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
}