首页 文章

JMS消息转移到DLQ

提问于
浏览
0

JMS消息有时会移动到DLQ而不会抛出任何异常 . 使用的Jboss服务器实例是4.3.0.GA_CP04_EAP .

我们正在使用一个MDB来侦听队列A上的传入消息,当它收到任何消息时它会更新数据库并在一个事务中感知电子邮件 . 事务是CMT .

现在,正在发生的事情是,有时消息不会被消费者拾取并且最终会出现在DLQ中 . 虽然从JMX-控制台消息计数中我可以看到消息曾经到达队列A然后转到DLQ .

这种情况间歇性地发生,也不会在日志上引发任何异常 .

大多数时候似乎工作的是重启服务器 . 不知道幕后发生了什么 .

** 29天后,同样的问题又回来了 . 这遵循一种模式,但随着每次重启而变化 . 有2个集群的serevrs也可以进行负载均衡,P1和P2 . 前两封电子邮件消息由P1-Email发送并处理下一封电子邮件重新发送到P2-Email发送下一封电子邮件消息由P1-Email发送并处理下一封电子邮件消息resquest转到P2-Email NOT SENT和循环重复

由于在http://leakfromjavaheap.blogspot.in/2013/05/when-dead-letter-queue-becomes-zombie.html找到了有用的信息,我找到了解决这个唠叨问题的方法

DLQ侦听器设置为侦听任何传入消息,并在DLQ上找到任何消息时将它们放回到预期目标 . 此外,考虑到任何消息从DLQ传送到队列并返回到无限循环中的DLQ的情况,设置计数器以检查消息之前到DLQ的次数,如果超过限制,则被置于永久DLQ(DLQ用于DLQ) . 从那时起,应用程序一直运行顺利 .

2 回答

  • 0

    如果您可以在消息转到DLQ时提供日志详细信息,那么最好深入研究此问题 .

  • 0

    日志不包含任何有用的信息;甚至不提供提示的例外 . 最后,将本地tx数据源更改为xa数据源,这是成功的 . 仍然想知道它背后是否有原因 .

相关问题