提问者:小点点

为ActiveMQ Artemis死信队列设置保留策略?


是否有在ActiveMQ Artemis死信队列上设置保留策略的最佳实践?

我正在查看留档,但我找不到任何相关的东西。我最好的方法是使用过滤器AMQTimestamp调用RemoveMessages(string)


共1个答案

匿名用户

这里没有真正的最佳实践,因为它确实依赖于用例,并且用例在这方面的需求差异很大。

使用RemoveMessages(string)和过滤器AMQTimestamp

<address-setting match="myAddress">
   <expiry-delay>300000</expiry-delay> <!-- 300 seconds (5 minutes) -->
</address-setting>

如果没有定义过期地址,那么消息将在expiry-delay流逝后简单地删除。如果定义了过期地址(例如,在父级的地址设置中),那么这些消息将根据配置的路由类型被路由到绑定到该地址的任何队列。但是,如果您想删除过期地址,以便删除消息,那么您可以,例如:

<address-setting match="myAddress">
   <expiry-address/>
   <expiry-delay>300000</expiry-delay> <!-- 300 seconds (5 minutes) -->
</address-setting>