首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为发送到Hornetq中的“过期消息地址”的消息配置过期时间

为发送到Hornetq中的“过期消息地址”的消息配置过期时间
EN

Stack Overflow用户
提问于 2014-06-06 09:22:33
回答 1查看 1.8K关注 0票数 1

我在Hornetq中配置了一个消息到期目的地,如下所示

代码语言:javascript
复制
<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>

一旦超过过期时间,消息就会被重定向到过期地址。这些邮件无限期地存在于过期地址上,是否有办法为这些邮件提供过期时间,使它们在过期地址上只停留有限的时间?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-06 13:37:14

如果您使用的是至少2.3,则可以为过期本身创建一个设置,但不需要指定过期地址:

代码语言:javascript
复制
   <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将是一个空地址。所以信息只会被发送给任何人。它将被加在地址上,然后被移除。

我们没有针对这个场景的测试,但是它应该能工作。如果你发现任何问题请告诉我。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24078356

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档