【问题标题】:How to make a queue to processing messages after 24hrs in ActiveMQ如何在 ActiveMQ 中创建 24 小时后处理消息的队列
【发布时间】:2016-09-25 08:02:19
【问题描述】:

我正在使用 ActiveMQ 5.8.0,我有一个队列,它不时接收消息并立即由该特定队列的侦听器处理,这里我希望队列在 24 小时后不立即处理消息,是在 Active MQ 中有任何参数可以做到这一点。

【问题讨论】:

    标签: queue activemq message-queue


    【解决方案1】:

    与其让消费者使用延迟 24 小时的消息,我更愿意将消息放入队列并延迟 24 小时。

    我们可以使用

    long time = 24 hours in milliseconds;
    message.setLongProperty(ScheduledMessage.AMQ_SCHEDULED_DELAY, time);
    producer.send(message)
    

    使用此配置后,ActiveMQ 将安排消息延迟 24 小时投递。

    PS:你只需要检查一件小事,如果代理在消息传递之前宕机会发生什么,如果代理重新启动并再次运行,它是否会成功发送

    希望这会有所帮助!

    祝你好运!

    【讨论】:

    • 嗨,vihar 我不能这样做,实际上我正在寻找处理来自 DLQ 的消息,如果我收到的消息没有被其主队列成功处理。所以基本上我试图在 24 小时后重新传递到它的主队列或在 DLQ 24 小时后直接处理相同的消息。
    • 在发布问题时提及这些特殊情况
    猜你喜欢
    • 2015-06-18
    • 2018-11-07
    • 1970-01-01
    • 2016-11-20
    • 2018-09-23
    • 2014-09-24
    • 1970-01-01
    • 1970-01-01
    • 2012-11-08
    相关资源
    最近更新 更多