一、简介

参考ActiveMQ(20):Consumer高级特性之重新投递(Redelivery Policy)


注意:由于在某些情况下,spring与此mq整合时会产生maximumRedeliveries与initialRedeliveryDelay冲突,此时采用如下方法即可解决


二、操作


1、配置activemq/conf/activemq.xml文件的broker中:

<plugins>
    <redeliveryPlugin fallbackToDeadLetter="true" sendToDlqIfMaxRetriesExceeded="true">
        <redeliveryPolicyMap>
            <redeliveryPolicyMap>
                <redeliveryPolicyEntries>
                    <redeliveryPolicy useExponentialBackOff="true" backOffMultiplier="2" queue=">" maximumRedeliveries="3" initialRedeliveryDelay="10000" />
                </redeliveryPolicyEntries>
            </redeliveryPolicyMap>
        </redeliveryPolicyMap>
    </redeliveryPlugin>
</plugins>

2、配置连接url,此处重置maximumRedeliveries为0,原因前面文章又讲,此处不再说明

#集群容错
active.mq.url=failover:(tcp://192.168.175.13:61616)??jms.prefetchPolicy.all=100&jms.redeliveryPolicy.maximumRedeliveries=0
#单机
#active.mq.url=tcp://192.168.175.13:61616?jms.prefetchPolicy.all=100&jms.redeliveryPolicy.maximumRedeliveries=0


测试效果:

ActiveMQ(20):Consumer高级特性之重新投递(activemq服务实现)