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

最近项目中用到了消息中间件,拿到任务后,各种百度各种学习,现将学习的一个小成果记录一下。

 环境:

     windows环境下: Spring 3.2.8     、Tomcat 7    、JDK 1.6  、 ActiveMQ 5.9.0 

项目目录结构:

          Spring ActiveMQ 整合(一): 一个简单的demo,测试消息的发送与接收_第1张图片

applicationContext.xml

	
	
		
	


	
	
		
	


	
	
		
		
		
	
	

	
	
		
	
	

	
	
      
	
    
    
	
	

	
	
		
		
		
	
SenderOne.java

public class SenderOne {
    private JmsTemplate jmsTemplateOne;

	public JmsTemplate getJmsTemplateOne() {
		return jmsTemplateOne;
	}

	public void setJmsTemplateOne(JmsTemplate jmsTemplateOne) {
		this.jmsTemplateOne = jmsTemplateOne;
	}
	
//测试的
	public void sendInfo(final String messageRecord,final String flag) {
		jmsTemplateOne.send(new MessageCreator() {
            public Message createMessage(Session session) throws JMSException {
            	TextMessage message = session.createTextMessage();
                return message;
            }
        });
    }
}

ReceiverOne.java

public class ReceiverOne  implements MessageListener {  
	//测试方法
	  public void onMessage(Message message, Session session) {  

	        //这里我们知道生产者发送的就是一个纯文本消息,所以这里可以直接进行强制转换  
		  TextMessage textMsg = (TextMessage) message;
	    	try {
	    		String endStr = textMsg.getText();
		        Integer endInt = Integer.parseInt(endStr);
		        System.out.println("消息:==="+endInt);
	        } catch (Exception e) {  
	            e.printStackTrace();
	            System.out.println("异常信息是:===:" + e.getMessage());
	        }
	    }

}
JMSTest.java

public class JMSTest {
    public static void main(String[] args) {
    	
        ApplicationContext context = new ClassPathXmlApplicationContext("resources/applicationContext.xml");
        SenderOne sender = (SenderOne) context.getBean("senderOne");
        sender.sendInfo("10","2");
    }
}

运行JMSTest的结果:

      Spring ActiveMQ 整合(一): 一个简单的demo,测试消息的发送与接收_第2张图片

看到控制台答应出来的 2 ,就说明  这个消息是发送成功   并且能,成功接收的,说明我们的topic消息的发送与接收是成功的。


你可能感兴趣的:(ActiveMQ)