<policyEntry queue=">" producerFlowControl="true"
memoryLimit="200mb" expireMessagesPeriod="14400000"
optimizedDispatch="true">
<deadLetterStrategy>
<sharedDeadLetterStrategy processExpired="false" />
</deadLetterStrategy>
</policyEntry>
我已经在我的activemq.xml文件中添加了上述策略,即使重启后,消息也会每30秒过期一次。将expireMessagesPeriod的值设置为4hrs,我希望消息不会在4hrs之前过期。
即使消息TTL已达到,消息也至少应在队列中停留4小时。
我正在将spring jms与activemq一起在localhost上运行。当我在policyEntry中添加以下行时,我收到DLQ中的过期消息,这意味着更改正在生效,但expireMessagesPeriod尚未生效。
<individualDeadLetterStrategy queuePrefix="DLQ." useQueueForQueueMessages="true"/>