`

Sping整合ActiveMQ(一.ActiveMQ使用javax.jms通信)

阅读更多

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>

            &lt;!&ndash; include all the dependencies into the jar so it's easier to execute the example &ndash;&gt;
            <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();
            }
        }
    }
}












 

分享到:
评论

相关推荐

    Sping整合ActiveMq案例.zip

    在IT行业中,Spring框架是Java领域最常用的轻量级应用框架之一,而ActiveMQ则是Apache组织提供的一个开源消息中间件,常用于实现应用程序间的异步通信。本案例将重点讲解如何将Spring与ActiveMQ整合,以实现高效的...

    jms+sping+activeMq的例子serd和recevice

    ActiveMQ是Apache软件基金会的一个开源项目,它是JMS的实现,作为一个消息中间件,它允许应用程序之间通过消息进行通信。ActiveMQ支持多种协议,并且可以在分布式环境中高效地处理大量消息。 **集成Spring与...

    activemq-example sping maven

    【标题】"activemq-example spring maven" 涉及到的是一个使用ActiveMQ、Spring框架和Maven构建的入门示例项目。这个项目旨在帮助开发者了解如何在Java环境中集成这三个关键技术来实现消息队列的功能。 【activemq...

    Sping Api 4.1.3.chm

    Spring API 4.1.3.chm文件提供了关于Spring框架4.1.3版本的详细文档,帮助开发者理解和使用该版本的各种功能。这个压缩包包含了一个CHM(Compiled Help Manual)文件,这是一种常见的Windows平台上的离线帮助文档...

    sping-aop-3.jar

    sping-aop-3.jar 最新的第一次上传东西

    sping mvc 整合 mybatis

    sping mvc 整合 mybatis

    Sping4Hibernate5lib.rar

    标题中的"Sping4Hibernate5lib.rar"是一个压缩包,其中包含了Spring框架的第四版本(Spring 4)和Hibernate持久化框架的第五版本(Hibernate 5)相关的库文件。这个压缩包不仅提供了这两个核心框架的jar文件,还包含...

    mybatis与spring整合全部jar包.rar

    这个压缩包提供了MyBatis和Spring整合所需的基本依赖,可以直接导入到项目中使用,从而快速搭建起一个支持MyBatis与Spring集成的环境。开发者在实际使用时,还需根据项目需求调整相关配置,并编写具体的Mapper接口和...

    test sping -aop.zip

    这个"test spring-aop.zip"文件应该包含了一个简单的Spring AOP示例,方便开发者快速理解和使用。下面将详细讲解Spring AOP的核心概念、工作原理以及如何配置和使用。 1. **核心概念** - **切面(Aspect)**:切面...

    读书笔记:sping boot 实战.zip

    读书笔记:sping boot 实战

    使用Apache ActiveMQ开发企业级系统案例(核心原理、框架整合、中间件、(项目文档+数据库+完整源码)-适合毕设论文

    MQJMS以及ActiveMQ的关系理解 主动式MQ ActiveMQ的环境搭建 深入了解topic队列与Queue队列比较点到点(X英尺) PublisherSubscriber(发布订阅者...ActiveMQ中间件实现实时消息传递第13讲-使用ActiveMQ与Sping框架整合案例

    Sping Cloud实战.rar

    Spring Boot对于如何使用Spring构建应用程序有一个看法:例如它具有常规配置文件的常规位置,以及用于常见管理和监视任务的端点。 Spring Cloud建立在此之上,并添加了一些可能系统中所有组件将使用或偶尔需要的...

    Sping 事务管理.doc

    OpenSessionInViewFilter解决Web应用程序的问题

    mybatis文档及与sping整合文档

    MyBatis是一个优秀的Java持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或注解进行配置和原始映射,将接口和Java的...

    sping-mybatis.rar

    学习

    Sping存储库接口定义.pdf

    spring高手之路22——Sping存储库接口定义

    Spring整合MyBatis_jar包.rar

    这个压缩包文件“Spring整合MyBatis_jar包.rar”很可能包含了一系列必要的jar库,使得开发者能够顺利地将Spring与MyBatis结合使用。 1. **Spring框架**:Spring是一个开源的Java应用框架,提供了一个全面的编程和...

    eclipse for javaee配置web开发环境(struts2+servlet+sping)字体.doc

    本教程将指导你如何配置环境,以便使用Struts2、Servlet和Spring进行Web开发。首先,我们需要确保已经安装了Eclipse for JavaEE、Struts2、Servlet容器(如Tomcat)以及Spring框架的相关依赖。 **1. 安装与配置** ...

    sping_hibernate整合包

    "sping_hibernate整合包"显然包含了这两个框架的整合,便于快速搭建基于Spring和Hibernate的Java Web项目。 这个整合包中包含的文件如下: 1. `hibernate-core-4.3.1.Final.jar`:这是Hibernate的核心库,包含了对...

    长沙蓝杰实训java课件之 RMI技术解析(www.NetJava.cn)

    本课件全面讲解了RMI的一般实现,特殊问题解决及与sping的组合应用. 1.分布式计算的起因及基本原理 2.RMI体系结构 3.RMI服务器实现及编码 4.RMI客户机实现及编码 5.使RMI穿过防火墙--定制rmiSocket 6.Spring中...

Global site tag (gtag.js) - Google Analytics