Spring+JMS例子

来源:互联网 发布:网络刷到单诈骗怎么办 编辑:程序博客网 时间:2024/04/28 09:41
第一: 在applicationContext.xml
Xml代码 复制代码 收藏代码
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">  
  3.   
  4. <beans>     
  5.  <bean id="connectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory">  
  6.    <property name="brokerURL">  
  7.      <value>tcp://192.168.3.48:61616</value>  
  8.    </property>  
  9.      
  10.  </bean>  
  11.     
  12.  <bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate">  
  13.     <property name="connectionFactory">  
  14.       <ref bean="connectionFactory"/>  
  15.     </property>  
  16.  </bean>  
  17.     
  18.  <bean id="destination" class="org.apache.activemq.command.ActiveMQQueue">  
  19.    <constructor-arg index="0">  
  20.      <value>HelloWorldQueue</value>  
  21.    </constructor-arg>  
  22.  </bean>  
  23. </beans>  


2.写发送方
Java代码 复制代码 收藏代码
  1. package ch13.JMS;   
  2.   
  3. import javax.jms.Destination;   
  4. import javax.jms.JMSException;   
  5. import javax.jms.Message;   
  6. import javax.jms.Session;   
  7.   
  8. import org.springframework.context.ApplicationContext;   
  9. import org.springframework.context.support.ClassPathXmlApplicationContext;   
  10. import org.springframework.jms.core.JmsTemplate;   
  11. import org.springframework.jms.core.MessageCreator;   
  12.   
  13. public class HelloWorldSender   
  14. {   
  15.  public static void main(String args[]) throws Exception   
  16.  {   
  17.   ApplicationContext context = new ClassPathXmlApplicationContext(new String[] { "ch13/JMS/applicationContext.xml" });   
  18.   JmsTemplate jmsTemplate = (JmsTemplate) context.getBean("jmsTemplate");   
  19.   Destination destination = (Destination) context.getBean("destination");   
  20.   jmsTemplate.send   
  21.   (   
  22.    destination, new MessageCreator()   
  23.    {   
  24.     public Message createMessage(Session session) throws JMSException   
  25.     {   
  26.      return session.createTextMessage("大家好这个是测试!");   
  27.     }   
  28.    }   
  29.   );   
  30.  }   
  31.   
  32. }  

3.写接收方
Java代码 复制代码 收藏代码
  1. package ch13.JMS;   
  2.   
  3. import javax.jms.Destination;   
  4. import javax.jms.TextMessage;   
  5.   
  6. import org.springframework.context.ApplicationContext;   
  7. import org.springframework.context.support.ClassPathXmlApplicationContext;   
  8. import org.springframework.jms.core.JmsTemplate;   
  9.   
  10. public class HelloWorldReciver   
  11. {   
  12.   
  13.  public static void main(String args[]) throws Exception   
  14.  {   
  15.   ApplicationContext context = new ClassPathXmlApplicationContext(new String[] { "ch13/JMS/applicationContext.xml" });   
  16.   JmsTemplate jmsTemplate = (JmsTemplate) context.getBean("jmsTemplate");   
  17.   Destination destination = (Destination) context.getBean("destination");   
  18.   System.out.println("will wait:" + jmsTemplate.getReceiveTimeout()+ " seconds for message");   
  19.   TextMessage msg = (TextMessage) jmsTemplate.receive(destination);   
  20.   System.out.println("reviced msg is:" + msg.getText());   
  21.  }   
  22.   
  23. }  

4.启动activemq中bin 下的activemq.bat

5.先运行 HelloWorldSender

6.再运行 HelloWorld

7.结果:

will wait:-1 seconds for message
reviced msg is:大家好 这个是测试!
原创粉丝点击