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