`
teamojiao
  • 浏览: 350374 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

ActiveMQ+Spring2.5

阅读更多
项目环境:
JDK1.5
ActiveMQ5.2
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/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>ActiveMQ-Spring</groupId>
  <artifactId>ActiveMQ-Spring</artifactId>
  <packaging>war</packaging>
  <name />
  <version>0.0.1-SNAPSHOT</version>
  <description />
  <build>
    <sourceDirectory>${basedir}/src</sourceDirectory>
    <outputDirectory>${basedir}/WebRoot/WEB-INF/classes</outputDirectory>
    <resources>
      <resource>
        <directory>${basedir}/src</directory>
        <excludes>
          <exclude>**/*.java</exclude>
        </excludes>
      </resource>
    </resources>
    <plugins>
      <plugin>
        <artifactId>maven-war-plugin</artifactId>
        <configuration>
          <webappDirectory>${basedir}/WebRoot</webappDirectory>
          <warSourceDirectory>${basedir}/WebRoot</warSourceDirectory>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
          <source>1.5</source>
          <target>1.5</target>
        </configuration>
      </plugin>
    </plugins>
  </build>
  <dependencies>
    <dependency>
      <groupId>org.apache.openejb</groupId>
      <artifactId>javaee-api</artifactId>
      <version>5.0-1</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>javax.faces</groupId>
      <artifactId>jsf-api</artifactId>
      <version>1.2_04</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>jstl</artifactId>
      <version>1.2</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>javax.servlet.jsp</groupId>
      <artifactId>jsp-api</artifactId>
      <version>2.1</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>javax.faces</groupId>
      <artifactId>jsf-impl</artifactId>
      <version>1.2_04</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
    	<groupId>org.apache.activemq</groupId>
    	<artifactId>activemq-all</artifactId>
    	<version>5.2.0</version>
    </dependency>
    <dependency>
    	<groupId>org.springframework</groupId>
    	<artifactId>spring-core</artifactId>
    	<version>2.5.6</version>
    </dependency>
    <dependency>
    	<groupId>org.springframework</groupId>
    	<artifactId>spring-jms</artifactId>
    	<version>2.5.6</version>
    </dependency>
  </dependencies>
</project>
 
package com.jeff.mq;

import javax.jms.Destination;
import javax.jms.JMSException;
import javax.jms.TextMessage;

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

/**
* 消息接收者
*
* @author jeff
*/
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 = (TextMessage) template.receive(destination);
                        if (null != txtmsg)
                                System.out.println("收到消息内容为: " + txtmsg.getText());
                        else
                                break;
                }
        }
}
 
package com.jeff.mq;

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

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

/**
* 消息发送者
*
* @author jeff
*/
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消息");
        }
}
 
Spring配置文件
<?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.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!
 
继续测试发现,接收端接收一条消息后不退出程序,而是继续等待,一旦有消息发送过来,就获取到,然后输出!
分享到:
评论

相关推荐

    ActiveMQ5.1+Spring2.5 Demo

    **ActiveMQ5.1+Spring2.5 Demo详解** ActiveMQ是Apache软件基金会下的一个开源项目,它是一款功能强大的消息中间件,支持多种消息协议,如AMQP、STOMP、OpenWire等。在版本5.1中,ActiveMQ提供了一流的消息传输性能...

    新手配置TOMCAT6.0+ActiveMq5.1+Spriing2.5

    本文将详细阐述如何配置TOMCAT6.0、ActiveMQ5.1以及Spring2.5的集成环境,这些组件都是企业级Java应用中不可或缺的部分。 首先,我们来了解下这三个组件的基础知识: 1. **Tomcat 6.0**:Apache Tomcat 是一个开源...

    Spring+JMS+ActiveMQ+Tomcat实现消息服务_服务器应用

    在本案例中,我们采用的技术栈为Spring 2.5、ActiveMQ 5.4.0 和 Tomcat 6.0.30。这些技术的结合能够有效地构建一个可靠的消息传递系统。 - **Spring 2.5**:Spring 是一个开源框架,用于简化 Java 应用程序的开发。...

    Spring集成ActiveMQ配置

    Spring集成ActiveMQ配置详解 Spring框架与ActiveMQ的集成,为开发者提供了一种高效、可靠的JMS消息处理机制。在企业级应用中,这种集成能够极大地提升系统的响应速度和容错能力,特别是在需要异步通信和分布式事务...

    Spring集成ActiveMQ配置.docx

    Spring 集成 ActiveMQ 配置 Spring 集成 ActiveMQ 配置是指将 Spring 框架与 ActiveMQ 消息队列集成,以实现基于 JMS(Java Message Service)的消息传递。ActiveMQ 是 Apache 软件基金会的一个开源的消息队列系统...

    spring-activemq.zip

    本项目"spring-activemq.zip"显然关注的是如何在Spring Boot 2.5版本中整合ActiveMQ,以实现发布/订阅(Publish/Subscribe)模式。 首先,我们来理解一下发布/订阅模式。在这一模式中,生产者(publisher)发布消息...

    Spring集成ActiveMQ

    【Spring集成ActiveMQ】知识点详解 在Java企业级开发中,Spring框架的广泛使用与Apache ActiveMQ的消息中间件相结合,可以构建出高效、可靠的消息传递系统。ActiveMQ作为开源的JMS(Java Message Service)提供商,...

    dubbo2.5-spring4-mybastis3.2-springmvc4-mongodb-redis:dubbo2.5-spring4-mybastis3.2-springmvc4-mongodb-redis整合

    dubbo2.5-spring4-mybastis3.2-springmvc4-mongodb-redisdubbo2.5-spring4-mybastis3.2-springmvc4-mongodb-redis整合#该项目介绍ROOT dubbo管理平台lidong-dubbo-api api模块lidong-dubbo-model model模块lidong-...

    Spring in Action(第二版 中文高清版).part2

    10.1.3 在Spring中安装ActiveMQ 10.2 协同使用JMS和Spring 10.2.1 处理冗长失控的JMS代码 10.2.2 使用JMS模板 10.2.3 转换消息 10.2.4 将Spring的网关支持类应用于JMS 10.3 创建消息驱动POJO 10.3.1 创建...

    Spring Boot面试题(2022最新版)-重点

    **5.5 如何集成 Spring Boot 和 ActiveMQ?** 可以通过引入 `spring-boot-starter-amqp` 依赖来集成 ActiveMQ。Spring Boot 提供了简单的配置选项,使得消息队列的使用变得非常方便。 **5.6 什么是 Apache Kafka?...

    JMS与Spring之一(用JmsTemplate同步收发消息)

    http://www.springframework.org/schema/jms http://www.springframework.org/schema/jms/spring-jms-2.5.xsd"&gt; &lt;bean id="jndiTemplate" class="org.springframework.jndi.JndiTemplate"&gt; ...

    Spring in Action(第2版)中文版

    10.1.3在spring中安装activemq 10.2协同使用jms和spring 10.2.1处理冗长失控的jms代码 10.2.2使用jms模板 10.2.3转换消息 10.2.4将spring的网关支持类应用于jms 10.3创建消息驱动pojo 10.3.1创建消息监听器 ...

    Spring in Action(第二版 中文高清版).part1

    10.1.3 在Spring中安装ActiveMQ 10.2 协同使用JMS和Spring 10.2.1 处理冗长失控的JMS代码 10.2.2 使用JMS模板 10.2.3 转换消息 10.2.4 将Spring的网关支持类应用于JMS 10.3 创建消息驱动POJO 10.3.1 创建...

    flex blazeDS开发使用手册,对于集成blaze开发很有用处。

    `blazeds.war`文件是一个预打包的Web应用,可以直接部署到任何支持Servlet 2.5或更高版本的Java应用服务器上,如Tomcat、Jetty等。`blazeds-bin-readme.htm`文件通常包含部署和配置BlazeDS的详细步骤和注意事项。 ...

    Java高级架构必备知识点

    - **ActiveMQ-JMS规范及使用**:了解JMS规范和ActiveMQ的使用。 - **Kafka实现原理剖析**:深入理解Kafka的设计原理。 **7.7 分布式缓存分析对比** - **Memcache的原理分析及使用**:比较Memcache和Redis的不同之...

    JAVA上百实例源码以及开源项目源代码

    简介 笔者当初为了学习JAVA,收集了很多经典源码,源码难易程度分为初级、中级、高级等,详情看源码列表,需要的可以直接下载! 这些源码反映了那时那景笔者对未来的盲目,对代码的热情、执着,对IT的憧憬、向往!...

Global site tag (gtag.js) - Google Analytics