- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
作为操作人员(不是开发人员)并基于 http://activemq.apache.org/message-redelivery-and-dlq-handling.html我试图在集成到 JBoss Fuse 6.2 中的 ActiveMQ.DLQ 上设置到期时间,以确保 KahaDB 的文件夹不会用完磁盘空间,但下面的设置似乎对队列消息没有任何作用,只是将它们复制到 ActiveMQ.Advisory。 Producer.Queue.ActiveMQ.DLQ 两次。
...
<policyEntry queue=">" producerFlowControl="false">
<deadLetterStrategy>
<sharedDeadLetterStrategy expiration="300000"/>
</deadLetterStrategy>
</policyEntry>
...
ActiveMQ.Advisory.Producer.Queue.ActiveMQ.DLQ 0 0 0 8 0 0
ActiveMQ.DLQ 4 0 0 4 0 0
最佳答案
您的 deadLetterStrategy
很好并且必须正常工作,但您不能像这样测试它,因为到期是由尝试交付给消费者的业务代码设置的,当它失败时,它通过更改其到期将消息发送到 DLQ。
您可以通过设置 setJMSExpiration
向您想要的任何队列发送消息来进行测试。 (Time to live) to 1 例如,如果 processExpired="true"
,消息将不会被传递并直接发送到 DLQ。 .ActiveMQ.Advisory.Producer.Queue.ActiveMQ.DLQ
之所以创建,是因为您有一个向 ActiveMQ.DLQ
发送消息的生产者.
因为您已经向 ActiveMQ.DLQ
发送了 4 条消息您在 ActiveMQ.Advisory.Producer.Queue.ActiveMQ.DLQ
中有 8 条消息因为此主题在生产者启动时收到一条消息,而在停止消息时收到另一条消息,这意味着您的 JBOSS FUSE 管理控制台创建了一个用于发送消息的连接并在此之后停止它。
请注意,默认情况下,ActiveMQ 不会使发送到 DLQ 的消息过期,如果您想将它们保留 7 天,您可以设置 <sharedDeadLetterStrategy expiration="604800000" processExpired="true" processNonPersistent="true" />
http://activemq.apache.org/advisory-message.html
http://activemq.apache.org/message-redelivery-and-dlq-handling.html
关于activemq - 如何为 ActiveMQ.DLQ 队列设置到期时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40231077/
我是一名优秀的程序员,十分优秀!