ActiveMQ禁用死信队列

ActiveMQ禁用死信队列

在使用持久化的ActiveMQ中,过期之后消息会被转发到ActiveMQ.DLQ队列中。

目前发现在线上的大量商品信息同步时,由于消费端的机制导致了过期消息的产生,转发到DLQ队列后对消息服务器的空闲资源造成影响。

由于消息的发送和消费都对应有应用日志,DLQ在存放消息的意义不大,所以禁用DLQ队列。

<destinationPolicy>
            <policyMap>
              <policyEntries>
                <policyEntry topic=">" producerFlowControl="false" memoryLimit="1024mb" prioritizedMessages="true">
                  <pendingMessageLimitStrategy>
                    <constantPendingMessageLimitStrategy limit="1000"/>
                  </pendingMessageLimitStrategy>
                </policyEntry>
                <policyEntry queue=">" producerFlowControl="false" memoryLimit="1024mb" prioritizedMessages="true">
                        <deadLetterStrategy>
                          <sharedDeadLetterStrategy processExpired="false" />
                        </deadLetterStrategy>
                </policyEntry>
              </policyEntries>
            </policyMap>
        </destinationPolicy>

主要配置:

<sharedDeadLetterStrategy processExpired=”false” />

 

 

留下回复