Sping整合ActiveMQ(一.ActiveMQ使用javax.jms通信)
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</groupId> <artifactId>ActiveMQ</artifactId> <version>1.0-SNAPSHOT</version> <name>ActiveMQ</name> <description>ActiveMQ AMQP Java Examples</description> <repositories> <repository> <id>Fusesource Snapshots</id> <url>http://repo.fusesource.com/nexus/content/repositories/snapshots</url> </repository> </repositories> <dependencies> <dependency> <groupId>org.apache.geronimo.specs</groupId> <artifactId>geronimo-jms_1.1_spec</artifactId> <version>1.1</version> </dependency> <dependency> <groupId>org.apache.qpid</groupId> <artifactId>qpid-amqp-1-0-client-jms</artifactId> <version>0.24</version> </dependency> <dependency> <groupId>org.apache.activemq</groupId> <artifactId>activemq-core</artifactId> <version>5.7.0</version> </dependency> </dependencies> <!--<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.1</version> <configuration> <source>1.6</source> <target>1.6</target> </configuration> </plugin> <!– include all the dependencies into the jar so it's easier to execute the example –> <plugin> <groupId>org.fusesource.mvnplugins</groupId> <artifactId>maven-uberize-plugin</artifactId> <version>1.14</version> <executions> <execution> <phase>package</phase> <goals><goal>uberize</goal></goals> </execution> </executions> </plugin> </plugins> </build>--> </project>
2.发送消息测试类Sender:
import org.apache.activemq.ActiveMQConnection; import org.apache.activemq.ActiveMQConnectionFactory; import javax.jms.*; public class SenderTest { public static void main(String[] args) { //1.创建连接工厂 ConnectionFactory factory = new ActiveMQConnectionFactory( ActiveMQConnection.DEFAULT_USER, ActiveMQConnection.DEFAULT_PASSWORD, "tcp://localhost:61616"); Connection connection = null; try { //2.通过工厂创建连接 connection = factory.createConnection(); /*启动连接*/ connection.start(); //3.通过连接创建发送或接收消息的会话Session Session session = connection.createSession(false,Session.AUTO_ACKNOWLEDGE); //4.通过session创建目的地,即消息发送给谁 Destination destination = session.createQueue("SecondQueue"); //5.通过session创建生产者Product,用于生成消息 MessageProducer producer = session.createProducer(destination); //6.设置不持久化 producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT); //7.开始发送消息 sendMessage(session, producer); session.commit(); } catch (JMSException e) { e.printStackTrace(); } finally { try { /*关闭连接*/ if (null != connection) connection.close(); } catch (JMSException e) { e.printStackTrace(); } } } public static void sendMessage(Session session, MessageProducer producer) throws JMSException { for(int i = 0; i < 10; i++) { /*创建消息*/ TextMessage message = session.createTextMessage("发送的消息为:" + i); try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println("发送的消息为:" + i); /*开始发送*/ producer.send(message); } } }
3.接收消息测试类Receiver:
import org.apache.activemq.ActiveMQConnection; import org.apache.activemq.ActiveMQConnectionFactory; import javax.jms.*; public class ReceiverTest { public static void main(String[] args) { //1.创建连接工厂 ConnectionFactory factory = new ActiveMQConnectionFactory( ActiveMQConnection.DEFAULT_USER, ActiveMQConnection.DEFAULT_PASSWORD, "tcp://localhost:61616"); //2.创建连接 Connection connection = null; try { connection = factory.createConnection(); /*开启连接*/ connection.start(); //3.通过连接创建发送和接收消息的会话Session(支持事务,自动通知) Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); //4.通过Session创建消息的目的地 Destination destination = session.createQueue("SecondQueue"); //5.通过Session创建消费者Consumer MessageConsumer consumer = session.createConsumer(destination); //6.开始接收消息 while (true) { /*创建消息对象 用来接收消息*/ TextMessage message = (TextMessage) consumer.receive(); System.out.println(message.getText()); } } catch (JMSException e) { e.printStackTrace(); } finally { /*关闭连接*/ try { if (null != connection) connection.close(); } catch (JMSException e) { e.printStackTrace(); } } } }
相关推荐
在IT行业中,Spring框架是Java领域最常用的轻量级应用框架之一,而ActiveMQ则是Apache组织提供的一个开源消息中间件,常用于实现应用程序间的异步通信。本案例将重点讲解如何将Spring与ActiveMQ整合,以实现高效的...
ActiveMQ是Apache软件基金会的一个开源项目,它是JMS的实现,作为一个消息中间件,它允许应用程序之间通过消息进行通信。ActiveMQ支持多种协议,并且可以在分布式环境中高效地处理大量消息。 **集成Spring与...
【标题】"activemq-example spring maven" 涉及到的是一个使用ActiveMQ、Spring框架和Maven构建的入门示例项目。这个项目旨在帮助开发者了解如何在Java环境中集成这三个关键技术来实现消息队列的功能。 【activemq...
Spring API 4.1.3.chm文件提供了关于Spring框架4.1.3版本的详细文档,帮助开发者理解和使用该版本的各种功能。这个压缩包包含了一个CHM(Compiled Help Manual)文件,这是一种常见的Windows平台上的离线帮助文档...
sping-aop-3.jar 最新的第一次上传东西
sping mvc 整合 mybatis
标题中的"Sping4Hibernate5lib.rar"是一个压缩包,其中包含了Spring框架的第四版本(Spring 4)和Hibernate持久化框架的第五版本(Hibernate 5)相关的库文件。这个压缩包不仅提供了这两个核心框架的jar文件,还包含...
这个压缩包提供了MyBatis和Spring整合所需的基本依赖,可以直接导入到项目中使用,从而快速搭建起一个支持MyBatis与Spring集成的环境。开发者在实际使用时,还需根据项目需求调整相关配置,并编写具体的Mapper接口和...
这个"test spring-aop.zip"文件应该包含了一个简单的Spring AOP示例,方便开发者快速理解和使用。下面将详细讲解Spring AOP的核心概念、工作原理以及如何配置和使用。 1. **核心概念** - **切面(Aspect)**:切面...
读书笔记:sping boot 实战
MQJMS以及ActiveMQ的关系理解 主动式MQ ActiveMQ的环境搭建 深入了解topic队列与Queue队列比较点到点(X英尺) PublisherSubscriber(发布订阅者...ActiveMQ中间件实现实时消息传递第13讲-使用ActiveMQ与Sping框架整合案例
Spring Boot对于如何使用Spring构建应用程序有一个看法:例如它具有常规配置文件的常规位置,以及用于常见管理和监视任务的端点。 Spring Cloud建立在此之上,并添加了一些可能系统中所有组件将使用或偶尔需要的...
OpenSessionInViewFilter解决Web应用程序的问题
MyBatis是一个优秀的Java持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或注解进行配置和原始映射,将接口和Java的...
学习
spring高手之路22——Sping存储库接口定义
这个压缩包文件“Spring整合MyBatis_jar包.rar”很可能包含了一系列必要的jar库,使得开发者能够顺利地将Spring与MyBatis结合使用。 1. **Spring框架**:Spring是一个开源的Java应用框架,提供了一个全面的编程和...
本教程将指导你如何配置环境,以便使用Struts2、Servlet和Spring进行Web开发。首先,我们需要确保已经安装了Eclipse for JavaEE、Struts2、Servlet容器(如Tomcat)以及Spring框架的相关依赖。 **1. 安装与配置** ...
"sping_hibernate整合包"显然包含了这两个框架的整合,便于快速搭建基于Spring和Hibernate的Java Web项目。 这个整合包中包含的文件如下: 1. `hibernate-core-4.3.1.Final.jar`:这是Hibernate的核心库,包含了对...
本课件全面讲解了RMI的一般实现,特殊问题解决及与sping的组合应用. 1.分布式计算的起因及基本原理 2.RMI体系结构 3.RMI服务器实现及编码 4.RMI客户机实现及编码 5.使RMI穿过防火墙--定制rmiSocket 6.Spring中...