我想测试JMS监听器是否正常工作! 要做到这一点,我想测试队列大小是否超过5秒,这意味着监听器不工作 我应该在我的代码中添加什么
try {
if ((msgIdMap.contains(tm.getJMSMessageID())) || !(message instanceof TextMessage)) {
System.out.println("\tListener not working !");
} else {
process((TextMessage) message);
}
答案 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
}