【问题标题】:Dealing with Dead Letter Queue (DLQ)处理死信队列 (DLQ)
【发布时间】:2013-11-04 18:53:06
【问题描述】:

处理导致消息队列异常的 JMS 消息的最佳方法是什么?

我所做的是为特定队列设置 DLQ。我将重试处理消息 5 次,重试延迟为 30 秒。如果无法处理消息,则可能是由于某些错误 - 我将消息移动到我的持久 DLQ。 所以想法是部署一个错误修复,然后将 DLQ 中的消息放回队列中。

这是最好的方法吗?如果是这样,我该如何“重新发布”我在 DLQ 中的消息?

【问题讨论】:

    标签: jms dead-letter


    【解决方案1】:

    我认为这是最好的方法。

    主管应检查 DLQ、修复错误并将其发送回主队列。您可以使用jms QueueBrowser 来检查队列中的消息(包括消息文本、jms-id 和...)。所以你应该编写一个程序来列出 DLQ 中的所有消息。主管应该能够操作消息文本,并将其发送回主队列(从 DLQ 中删除:consume the message by jms-id,并生成固定消息到主队列)

    【讨论】:

    • 此外.. 这真的取决于您的用例.. 在某些情况下,消息在一段时间后毫无意义.. 所以,也许您应该删除 DLQ。无论如何不要让消息在 DLQ 上累积。使用它们或将 DLQ 地址设置为 page。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-02-18
    • 1970-01-01
    • 1970-01-01
    • 2020-11-10
    • 1970-01-01
    • 2012-10-19
    • 2020-02-14
    相关资源
    最近更新 更多