首页 > 解决方案 > 死信策略 - ActiveMQ Artemis

问题描述

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

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

我希望在 5 分钟后将消息发送回初始队列。消息重定向并不是真正的问题,它在文档中有所提及。

但是我怎样才能将消息设置为延迟 5 分钟发送?我在本文档中看到有这种可能性,但它从应用程序级别得到支持,我想从broker.xml.

标签: message-queueactivemq-artemis

解决方案


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

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


推荐阅读