我在Hornetq中配置了一个消息到期目的地,如下所示
<address-setting match="#">
<dead-letter-address>jms.queue.error</dead-letter-address>
<expiry-address>jms.queue.error</expiry-address>
<max-delivery-attempts>3</max-delivery-attempts>
<redelivery-delay>2000</redelivery-delay>
<max-size-bytes>10485760</max-size-bytes>
<message-counter-history-day-limit>10</message-counter-history-day-limit>
<address-full-policy>BLOCK</address-full-policy>
<redistribution-delay>60000</redistribution-delay>
</address-setting>一旦超过过期时间,消息就会被重定向到过期地址。这些邮件无限期地存在于过期地址上,是否有办法为这些邮件提供过期时间,使它们在过期地址上只停留有限的时间?
发布于 2014-06-06 13:37:14
如果您使用的是至少2.3,则可以为过期本身创建一个设置,但不需要指定过期地址:
<address-setting match="jms.queue.error">
<dead-letter-address>ExpiryOfExpiry</dead-letter-address>
<expiry-address>ExpiryOfExpiry</expiry-address>
<max-delivery-attempts>3</max-delivery-attempts>
<expiry-delay>3600000</expiry-delay> <!-- one hour... or use whatever you want -->
<max-size-bytes>10485760</max-size-bytes>
<address-full-policy>PAGE</address-full-policy>
<redistribution-delay>60000</redistribution-delay>
</address-setting>ExpiryOfExpiry将是一个空地址。所以信息只会被发送给任何人。它将被加在地址上,然后被移除。
我们没有针对这个场景的测试,但是它应该能工作。如果你发现任何问题请告诉我。
https://stackoverflow.com/questions/24078356
复制相似问题