【问题标题】:Dead letter strategy - ActiveMQ Artemis死信策略 - ActiveMQ Artemis
【发布时间】:2021-07-31 08:36:43
【问题描述】:

我正在设计一种机制来处理消费者未收到的消息。

我使用 ActiveMQ Artemis。我想以这样一种方式配置代理,即当消息多次传递失败时,它们会像this documentation 一样转到 DLQ。尝试不成功后,消息将被扔到我自己的 DLQ 地址中,但我的问题出现了。

我希望在 5 分钟后将消息发送回初始队列。消息重定向其实不是问题,the documentation中提到过。

但是我怎样才能将消息设置为延迟 5 分钟发送?我看到this documentation有这种可能,但是从应用层面支持,我想从broker.xml设置。

【问题讨论】:

    标签: message-queue activemq-artemis


    【解决方案1】:

    您正在寻找的特定行为不受支持,我也不确定它是否真的得到支持。如果发送到死信地址的消息只需要在 5 分钟后发送回原始地址,那么我建议您只需配置 5 分钟的重新发送延迟即可。

    除此之外,您还可以在死信队列上创建一个简单的侦听器,该侦听器使用任何消息,然后按照文档中的描述,按照预定的交付延迟将其发送回原始地址。

    【讨论】:

    • 是的,但是以前的消息呢?他们将等待这个时间。我希望它们在尝试失败后被重定向到 DLQ,然后发送到初始队列,但在其末尾。
    • 你是什么意思“以前的消息......将等待这次”?重新传递延迟不应阻止消息在延迟期间被消费。
    • 这里有任何反馈吗?
    猜你喜欢
    • 2012-11-10
    • 1970-01-01
    • 2019-11-15
    • 1970-01-01
    • 2020-10-09
    • 2018-04-23
    • 1970-01-01
    • 1970-01-01
    • 2022-07-22
    相关资源
    最近更新 更多