ActiveMQ 重发机制(消息发送失败后的重新发送)

Posted 技术宅home

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ActiveMQ 重发机制(消息发送失败后的重新发送)相关的知识,希望对你有一定的参考价值。

一、写RedeliveryPolicy配置文件

<!-- 定义ReDelivery(重发机制)机制 ,重发时间间隔是100毫秒,最大重发次数是3次 -->  
    <bean id="activeMQRedeliveryPolicy" class="org.apache.activemq.RedeliveryPolicy">  
        <!--是否在每次尝试重新发送失败后,增长这个等待时间 -->  
        <property name="useExponentialBackOff" value="true"></property>  
        <!--重发次数,默认为6次   这里设置为1次 -->  
        <property name="maximumRedeliveries" value="1"></property>  
        <!--重发时间间隔,默认为1秒 -->  
        <property name="initialRedeliveryDelay" value="1000"></property>  
        <!--第一次失败后重新发送之前等待500毫秒,第二次失败再等待500 * 2毫秒,这里的2就是value -->  
        <property name="backOffMultiplier" value="2"></property>  
        <!--最大传送延迟,只在useExponentialBackOff为true时有效(V5.5),假设首次重连间隔为10ms,倍数为2,那么第   
            二次重连时间间隔为 20ms,第三次重连时间间隔为40ms,当重连时间间隔大的最大重连时间间隔时,以后每次重连时间间隔都为最大重连时间间隔。 -->  
        <property name="maximumRedeliveryDelay" value="1000"></property>  
    </bean>  

 

二、引用RedeliveryPolicy的配置:

<!--创建连接工厂 -->  
<bean id="connectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory">  
    <property name="brokerURL" value="tcp://localhost:61616"></property>  
    <property name="redeliveryPolicy" ref="activeMQRedeliveryPolicy" />  <!-- 引用重发机制 -->  
</bean>  

 

以上是关于ActiveMQ 重发机制(消息发送失败后的重新发送)的主要内容,如果未能解决你的问题,请参考以下文章

springboot+activemq中引入重发机制

[进阶之路]ActiveMQ实现消息失败重发机制和两种模式(PTP和PubSub)

(7)消息的确认和重发机制

如何批量重发失败的短信

使用SpringCloud Stream结合rabbitMQ实现消息消费失败重发机制

ActiveMQ 重发机制与确认机制 实践