Sping整合ActiveMQ(一.简单Queue通信)
简单配置:只作JMSTemplate和Destination的配置,进行简单的消息传送
1.Pom文件:
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>ActiveMQ-Spring2</groupId> <artifactId>ActiveMQ-Spring2</artifactId> <version>1.0-SNAPSHOT</version> <properties> <junit-version>4.10</junit-version> <slf4j-version>1.7.5</slf4j-version> <spring-version>3.2.3.RELEASE</spring-version> <jms-version>2.0</jms-version> <activemq-version>5.6.0</activemq-version> <geronimo-version>1.0.1</geronimo-version> </properties> <dependencies> <!--junit--> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>${junit-version}</version> </dependency> <!--slf4j--> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>${slf4j-version}</version> </dependency> <!--Spring--> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>${spring-version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> <version>${spring-version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>${spring-version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-tx</artifactId> <version>${spring-version}</version> </dependency> <!--Spring-JMS--> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jms</artifactId> <version>${spring-version}</version> </dependency> <!--Javax-JMS--> <dependency> <groupId>javax.jms</groupId> <artifactId>javax.jms-api</artifactId> <version>${jms-version}</version> </dependency> <!--ActiveMQ--> <dependency> <groupId>org.apache.activemq</groupId> <artifactId>activemq-all</artifactId> <version>${activemq-version}</version> </dependency> <dependency> <groupId>org.apache.activemq</groupId> <artifactId>activemq-pool</artifactId> <version>${activemq-version}</version> </dependency> <dependency> <groupId>org.apache.geronimo.specs</groupId> <artifactId>geronimo-j2ee-management_1.1_spec</artifactId> <version>${geronimo-version}</version> </dependency> </dependencies> </project>
2.Spring配置文件ApplicationContext.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd"> <!--创建JMS连接工厂--> <bean id="connectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory"> <property name="brokerURL" value="tcp://localhost:61616"/> </bean> <!--声明ActiveMQ消息目标,目标可以是一个队列Queue,也可以是一个主题Topic--> <bean id="destination" class="org.apache.activemq.command.ActiveMQQueue"> <constructor-arg index="0" value="FirstQueue"/> </bean> <!--配置JMS模板--> <bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate"> <property name="connectionFactory" ref="connectionFactory"/> <property name="defaultDestination" ref="destination"/> <!--此处可省--> </bean> </beans>
3.发送消息测试类Sender
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.JMSException; import javax.jms.Message; import javax.jms.Session; public class Sender { public static void main(String[] args) { /*1.加载配置文件*/ ApplicationContext ctx = new ClassPathXmlApplicationContext( new String[] { "classpath:/applicationContext.xml" }); /*2.获取JmsTemplate实例对象*/ JmsTemplate template = (JmsTemplate) ctx.getBean("jmsTemplate"); /*当配置文件中的JmsTemplate的Bean中没有配置Destination的property的时候, 使用如下注释的方式*/ //Destination destination = (Destination) ctx.getBean("destination"); //template.send(destination, new MessageCreator() {......} template.send(new MessageCreator() { @Override public Message createMessage(Session session) throws JMSException { return session.createTextMessage("发送消息:Hello ActiveMQ Text Message!"); } }); System.out.println("成功发送了一条JMS消息"); } }
4.接收消息测试类Receiver
import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import org.springframework.jms.core.JmsTemplate; import javax.jms.JMSException; import javax.jms.TextMessage; public class Receive { public static void main(String[] args) throws JMSException { /*1.加载配置文件*/ ApplicationContext ctx = new ClassPathXmlApplicationContext( new String[] { "classpath:/applicationContext.xml" }); /*2.获取JMSTemplate实例*/ JmsTemplate jmsTemplate = (JmsTemplate) ctx.getBean("jmsTemplate"); //Destination destination = (Destination) ctx.getBean("destination"); /*开始接收消息*/ while (true) { /*当配置文件中的JmsTemplate的Bean中没有配置Destination的property的时候, 使用如下注释的方式*/ //TextMessage txtmsg = (TextMessage) template.receive(destination); TextMessage message = (TextMessage) jmsTemplate.receive(); if (null != message) { System.out.println("收到消息为:" + message.getText()); } else break; } } }
相关推荐
——学习参考资料:仅用于个人学习使用! 本代码仅作学习交流,切勿用于商业用途,否则后果自负。若涉及侵权,请联系,会尽快处理! 未进行详尽测试,请自行调试!
Spring集成ActiveMQ配置
Spring整合ActiveMQ实现队列和主题发布订阅通信、一个完整的DEMO
Spring 集 成ActiveMQ 配置 异步RPC框架 Missian ActiveMq-JMS简单实例使用tomcat
Spring和ActiveMQ整合的完整实例
spring 与ACTIVEMQ整合.
java springboot整合activemq工程 #activemq配置 #默认情况下activemq提供的是queue模式 true是可以使用topic,false是仅使用queue模式 spring.jms.pub-sub-domain: true # 设置连接的activemq服务器 spring....
百度spring整合activemq 发现几乎都只是在xml文件配置固定的消息队列而且太麻烦。并没有根据需求进行动态生成主题和队列。本文档参考了纯粹的activemq java代码和百度上的demo,很简洁的实现了动态消息队列的生成和...
spring整合activemq的maven工程 activemq+spring+maven project
博客http://blog.csdn.net/poorCoder_/article/details/61192791的代码。Spring整合ActiveMQ的简单实例
Apache ActiveMQ是Apache软件基金会的一个开源项目,是一个基于消息的通信中间件。ActiveMQ是JMS的一个具体实现,支持JMS的两种消息模型。ActiveMQ使用AMQP协议集成多平台应用,使用STOMP协议通过websockets在Web...
详细内容: SpringJMS整合ActiveMQ.doc 详细说明文档 apache-activemq-5.8.0-bin.zip ActiveMQ安装包 JMSTest.rar MyEclipse8.5下web工程
apache-activemq-5.16.6-bin.zip
Sping整合ActiveMq案例,利用Maven的坐标技术整合Sping技术实现消息生产者发送消息通过消息中间件,然后消息消费者消费消息
源码为web工程,整合了Spring,SpringMVC、ActiveMQ,启动后,index页面输入消息,控制台输出消息。
spring集成ActiveMQ的配置过程
activemq 5.15源码包
SpringActiveMQ.rar
Spring整合ActiveMQ实现点对点与主题发布订阅通信的一个DEMO
ActiveMQ讲义.pptActiveMQ讲义.pptActiveMQ讲义.ppt