【问题标题】:Java ActiveMQ - how to send expired messages to another queueJava ActiveMQ - 如何将过期消息发送到另一个队列
【发布时间】:2012-10-25 18:36:12
【问题描述】:

我有一个要求,如果客户端在 60 秒后未读取消息,则队列上的消息必须过期。我不想删除消息,而是想将它们发送到另一个队列,例如“过期消息”队列或其他东西。我已经阅读了一些关于死信队列和退出队列的信息,但我不确定这些是否符合我的需要。

这是我在 60 秒后过期的代码:

MessageProducer producer = session.createProducer(destination);

producer.setTimeToLive(60 * 1000);

感谢任何帮助。谢谢。

【问题讨论】:

    标签: java activemq mq


    【解决方案1】:

    默认情况下,AMQ 会向 DLQ 发送过期消息

    http://activemq.apache.org/message-redelivery-and-dlq-handling.html

    【讨论】:

    • @chris,你决定使用 DLQ 了吗?它的目的肯定与您需要的不同(例如,用于“毒丸”消息)。当消息被认为是“旧”时,最好指定发送消息的队列名称和时间间隔。你做到了吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-21
    • 2013-11-15
    • 1970-01-01
    • 2017-06-07
    • 2013-09-05
    相关资源
    最近更新 更多