activeMQ spring集成

applicationContext.xml

 

[html]  view plain  copy
 
  1. <!--创建连接工厂 -->  
  2. <bean id="connectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory">  
  3.     <property name="brokerURL" value="tcp://localhost:61616"></property>  
  4. </bean>  
  5.   
  6.   
  7. <!-- 声明ActiveMQ消息目标,目标可以是一个队列,也可以是一个主题ActiveMQTopic -->  
  8. <bean id="destinationOne" class="org.apache.activemq.command.ActiveMQQueue">  
  9.     <constructor-arg index="0" value="testQueOne"></constructor-arg>  
  10. </bean>  
  11.   
  12.   
  13. <!-- 设置 消息目的地 start -->  
  14. <bean id="jmsTemplateOne" class="org.springframework.jms.core.JmsTemplate">  
  15.     <property name="connectionFactory" ref="connectionFactory"></property>  
  16.     <property name="defaultDestination" ref="destinationOne"></property>  
  17.     <property name="receiveTimeout" value="6000"></property>  
  18. </bean>  
  19. <!-- 设置 消息目的地 end -->  
  20.   
  21. <!-- 配置生产者 start -->  
  22. <bean id="senderOne" class="com.dly.avtivemqtest.SenderOne">  
  23.     <property name="jmsTemplateOne" ref="jmsTemplateOne"></property>  
  24. </bean>  
  25. <!-- 配置生产者 end -->  
  26.   
  27. <!-- 配置消费者 start -->  
  28. <bean id="receiverOne" class="com.dly.avtivemqtest.ReceiverOne">  
  29.      <!-- <property name="jmsTemplate" ref="jmsTemplate"></property> -->  
  30. </bean>  
  31.    <!-- 配置消费者 end -->  
  32.      
  33. <!-- 消息监听器 -->  
  34. <bean id="consumerMessageListenerOfOne" class="com.dly.avtivemqtest.ReceiverOne" />  
  35.   
  36. <!-- 消息监听容器 消息接收监听器用于异步接收消息 -->  
  37. <bean id="jmsContainerOne" class="org.springframework.jms.listener.DefaultMessageListenerContainer">  
  38.     <property name="connectionFactory" ref="connectionFactory" />  
  39.     <property name="destination" ref="destinationOne" />  
  40.     <property name="messageListener" ref="consumerMessageListenerOfOne" />  
  41. </bean>  
  42. lt;/beans>  

SenderOne.java

 

 

[html]  view plain  copy
 
  1. public class SenderOne {  
  2.     private JmsTemplate jmsTemplateOne;  
  3.   
  4.     public JmsTemplate getJmsTemplateOne() {  
  5.         return jmsTemplateOne;  
  6.     }  
  7.   
  8.     public void setJmsTemplateOne(JmsTemplate jmsTemplateOne) {  
  9.         this.jmsTemplateOne = jmsTemplateOne;  
  10.     }  
  11.       
  12. //测试的  
  13.     public void sendInfo(final String messageRecord,final String flag) {  
  14.         jmsTemplateOne.send(new MessageCreator() {  
  15.             public Message createMessage(Session session) throws JMSException {  
  16.                 TextMessage message = session.createTextMessage();  
  17.                 return message;  
  18.             }  
  19.         });  
  20.     }  
  21. }  


ReceiverOne.java

 

 

[html]  view plain  copy
 
  1. public class ReceiverOne  implements MessageListener {    
  2.     //测试方法  
  3.       public void onMessage(Message message, Session session) {    
  4.   
  5.             //这里我们知道生产者发送的就是一个纯文本消息,所以这里可以直接进行强制转换    
  6.           TextMessage textMsg = (TextMessage) message;  
  7.             try {  
  8.                 String endStr = textMsg.getText();  
  9.                 Integer endInt = Integer.parseInt(endStr);  
  10.                 System.out.println("消息:==="+endInt);  
  11.             } catch (Exception e) {    
  12.                 e.printStackTrace();  
  13.                 System.out.println("异常信息是:===:" + e.getMessage());  
  14.             }  
  15.         }  
  16.   
  17. }  

JMSTest.java

 

 

[html]  view plain  copy
 
  1. public class JMSTest {  
  2.     public static void main(String[] args) {  
  3.           
  4.         ApplicationContext context = new ClassPathXmlApplicationContext("resources/applicationContext.xml");  
  5.         SenderOne sender = (SenderOne) context.getBean("senderOne");  
  6.         sender.sendInfo("10","2");  
  7.     }  
  8. }  

猜你喜欢

转载自zengshaotao.iteye.com/blog/2414482