spring activeMQ 整合(二): 重发机制(消息发送失败后的重新发送)

   之前已经写了一个spring   activemq整合的demo   ,今天继续完善一下这个demo,让功能更强大。

Spring ActiveMQ 整合(一): 一个简单的demo,测试消息的发送与接收    

       假如现在我手里有一个很重要的消息的,想要发给一个人,但是很不幸,消息发送失败了。这时候怎么办呢怎么解决这种尴尬的情况,这时候我们可以利用activeMQ的  消息重发机制(RedeliveryPolicy)  来解决这个烦人的问题。


消息重发机制的实现:

1.写RedeliveryPolicy配置文件

      既然ctiveMQ提供了消息重发机制(RedeliveryPolicy),那么我们只需要在Spring ActiveMQ 整合(一): 一个简单的demo,测试消息的发送与接收  的基础上, 完善activemq的xml配置文件即可。

[html]  view plain  copy
  1.       
  2. <span style="font-family:Microsoft YaHei;">      span>  
  3.     <bean id="activeMQRedeliveryPolicy" class="org.apache.activemq.RedeliveryPolicy">  
  4.           
  5.         <property name="useExponentialBackOff" value="true">property>  
  6.           
  7.         <property name="maximumRedeliveries" value="1">property>  
  8.           
  9.         <property name="initialRedeliveryDelay" value="1000">property>  
  10.           
  11.         <property name="backOffMultiplier" value="2">property>  
  12.           
  13. <bean id="connectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory">  
  14.     <property name="brokerURL" value="tcp://localhost:61616">property>  
  15.     <property name="redeliveryPolicy" ref="activeMQRedeliveryPolicy" />    
  16. bean>  

在链接工厂里面引入刚才配置好的 RedeliveryPolicy

配置完成后,消息一旦发送失败,就会按照消息重发机制配置好的重发次数,时间间隔等因素,再次发送。


可以看到配置文件中:

设置的重发一次,但是控制台打印出来两个条消息“2”。这就是第一次发送,失败后她又发送了一次,也就是两次。


以上就是消息重发机制的所有实现。


原文地址:http://blog.csdn.net/dly1580854879/article/details/68489798

你可能感兴趣的:(activeMQ)