Spring2.5整合ActiveMQ 5.2

简介:

项目环境:

JDK1.5

ActiveMQ5.2

所用的包都是ActiveMQ自带的。引用的包如下图:

package stujms.p2ptxt; 

import org.springframework.context.ApplicationContext; 
import org.springframework.context.support.ClassPathXmlApplicationContext; 
import org.springframework.jms.core.JmsTemplate; 
import org.springframework.jms.core.MessageCreator; 

import javax.jms.Destination; 
import javax.jms.JMSException; 
import javax.jms.Message; 
import javax.jms.Session; 

/** 
* 消息发送者 
* 
* @author leizhimin 2009-8-13 17:01:48 
*/ 
public class MySender { 
        public static void main(String[] args) { 
                ApplicationContext ctx = new ClassPathXmlApplicationContext("/applicationContext.xml"); 
                JmsTemplate template = (JmsTemplate) ctx.getBean("jmsTemplate"); 
                Destination destination = (Destination) ctx.getBean("destination"); 

                template.send(destination, new MessageCreator() { 
                        public Message createMessage(Session session) throws JMSException { 
                                return session.createTextMessage("发送消息:Hello ActiveMQ Text Message!"); 
                        } 
                }); 
                System.out.println("成功发送了一条JMS消息"); 
        } 
}
package stujms.p2ptxt; 

import org.springframework.context.ApplicationContextimport org.springframework.context.support.ClassPathXmlApplicationContextimport org.springframework.jms.core.JmsTemplateimport javax.jms.Destinationimport javax.jms.JMSExceptionimport javax.jms.TextMessage; 

/** 
* 消息接收者 
* 
* @author leizhimin 2009-8-13 17:02:04 
*/ 
public class MyReceiver { 
        public static void main(String[] args) throws JMSException { 
                ApplicationContext ctx = new ClassPathXmlApplicationContext("/applicationContext.xml"); 
                JmsTemplate template = (JmsTemplate) ctx.getBean("jmsTemplate"); 
                Destination destination = (Destination) ctx.getBean("destination"); 
                while (true) { 
                        TextMessage txtmsg = (TextMessagetemplate.receive(destination); 
                        if (null != txtmsg) 
                                System.out.println("收到消息内容为: " + txtmsg.getText()); 
                        else 
                                break; 
                } 
        } 
}
<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springframework.org/schema/beansxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
             xmlns:context="http://www.springframework.org/schema/context" 
             xsi:schemaLocation="http://www.springframework.org/schema/beans 
        http://www.springframework.org/schema/beans/spring-beans-2.5.xsd 
        http://www.springframework.org/schema/context 
        http://www.springframework.org/schema/context/spring-context-2.5.xsd"> 

        <!-- 配置JMS连接工厂 --> 
        <bean id="connectionFactory" class="org.apache.activemq.spring.ActiveMQConnectionFactory"> 
                <property name="brokerURL" value="tcp://localhost:61616"/> 
        </bean> 

        <!-- 配置JMS模版 --> 
        <bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate"> 
                <property name="connectionFactory" ref="connectionFactory"/> 
        </bean> 

        <!-- 发送消息的目的地(一个队列) --> 
        <bean id="destination" class="org.apache.activemq.command.ActiveMQQueue"> 
                <!-- 设置消息队列的名字 --> 
                <constructor-arg index="0" value="HelloWorldQueue"/> 
        </bean> 
</beans>

运行发送端三次:

成功发送了一条JMS消息 

Process finished with exit code 0

然后再运行接收端一次:

收到消息内容为: 发送消息:Hello ActiveMQ Text Message! 
收到消息内容为: 发送消息:Hello ActiveMQ Text Message! 
收到消息内容为: 发送消息:Hello ActiveMQ Text Message

继续测试发现,接收端接收一条消息后不退出程序,而是继续等待,一旦有消息发送过来,就获取到,然后输出!

 

发一张图看看:


目录
相关文章
|
2月前
|
消息中间件 监控 Java
您是否已集成 Spring Boot 与 ActiveMQ?
您是否已集成 Spring Boot 与 ActiveMQ?
61 0
|
7月前
|
消息中间件 Java Kafka
SpringBoot实用开发篇第六章(整合第三方技术,ActiveMQ,RabbitMQ,RocketMQ,Kafka)
SpringBoot实用开发篇第六章(整合第三方技术,ActiveMQ,RabbitMQ,RocketMQ,Kafka)
|
7月前
|
消息中间件 监控 Java
使用Spring Boot结合ActiveMQ和MQTT实现消息的发送和接收
使用Spring Boot结合ActiveMQ和MQTT实现消息的发送和接收
614 3
|
6月前
|
消息中间件 Java Apache
使用Spring Boot实现与ActiveMQ的消息队列集成
使用Spring Boot实现与ActiveMQ的消息队列集成
|
7月前
|
消息中间件 Java Apache
使用Spring Boot实现与ActiveMQ的消息队列集成
使用Spring Boot实现与ActiveMQ的消息队列集成
|
消息中间件 Java
springboot整合ActiveMQ(点对点+发布订阅)
springboot整合ActiveMQ(点对点+发布订阅)
|
8月前
|
消息中间件 XML Java
SpringBoot2.0整合ActiveMQ
SpringBoot2.0整合ActiveMQ
77 2
|
8月前
|
消息中间件 Java
SpringBoot使用ActiveMq同时支持点对点推送和发布订阅
SpringBoot使用ActiveMq同时支持点对点推送和发布订阅
46 0
|
8月前
|
消息中间件 Java Kafka
SpringBoot整合 ActiveMQ快速入门 实现点对点推送
SpringBoot整合 ActiveMQ快速入门 实现点对点推送
77 0
|
消息中间件 Java 测试技术
53分布式电商项目 - Spring集成ActiveMQ
53分布式电商项目 - Spring集成ActiveMQ
40 0