什么被认为是处理在消息队列中导致异常的JMS消息的最佳方法?
我所做的是为特定队列设置DLQ。我将重试处理该消息5次,重试延迟为30秒。如果消息无法处理,可能是由于某些错误 - 我将消息移动到我的持久DLQ。 因此,我们的想法是部署一个错误修复程序,然后将DLQ中的消息放回队列中。
这是最好的方法吗?如果是这样,我该如何“重新发布”DLQ中的消息?
答案 0 :(得分:2)
我认为这是最好的方法。
主管应检查DLQ,修复错误并将其发送回主队列。您可以使用jms QueueBrowser检查队列中的消息(包括消息文本,jms-id和...)。所以你应该编写一个程序来列出DLQ中的所有消息。主管应该能够操纵消息文本,并将其发送回主队列(从DLQ中删除它:consume the message by jms-id,并生成到主队列的固定消息)