<?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">
<!--创建连接工厂 -->
<bean id="connectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory">
<property name="brokerURL" value="tcp://localhost:61616"></property>
</bean>
<!-- 声明ActiveMQ消息目标,目标可以是一个队列,也可以是一个主题ActiveMQTopic -->
<bean id="destination" class="org.apache.activemq.command.ActiveMQQueue">
<constructor-arg index="0"
value="edu.sjtu.erplab.springactivemq2"></constructor-arg>
</bean>
<!---->
<bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate">
<property name="connectionFactory" ref="connectionFactory"></property>
<property name="defaultDestination" ref="destination"></property>
<property name="receiveTimeout" value="600"></property>
</bean>
<bean id="sender" class="com.acca.activemq.Sender">
<property name="jmsTemplate" ref="jmsTemplate"></property>
</bean>
<bean id="receiver" class="com.acca.activemq.Receiver">
<property name="jmsTemplate" ref="jmsTemplate"></property>
</bean>
</beans>
/*
* Copyright (c) 2012-2032 Accounting Center of China Aviation(ACCA).
* All Rights Reserved.
*/
package com.acca.activemq;
import javax.jms.JMSException;
import javax.jms.MapMessage;
import javax.jms.Message;
import javax.jms.Session;
import org.springframework.jms.core.JmsTemplate;
import org.springframework.jms.core.MessageCreator;
/**
*
*
*
* @author zhouhua, 2012-12-25
*/
public class Sender {
private JmsTemplate jmsTemplate;
// getter and setter
public JmsTemplate getJmsTemplate() {
return jmsTemplate;
}
public void setJmsTemplate(JmsTemplate jmsTemplate) {
this.jmsTemplate = jmsTemplate;
}
public void sendInfo() {
jmsTemplate.send(new MessageCreator() {
public Message createMessage(Session session) throws JMSException {
MapMessage message = session.createMapMessage();
message.setString("activemq", "Hello ActiveMQ");
return message;
}
});
}
}
/*
* Copyright (c) 2012-2032 Accounting Center of China Aviation(ACCA).
* All Rights Reserved.
*/
package com.acca.activemq;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
/**
*
*
*
* @author zhouhua, 2012-12-25
*/
public class SenderTest {
public static void main(String[] args) {
// TODO 自动生成方法存根
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
Sender sender = (Sender) context.getBean("sender");
sender.sendInfo();
}
}
/*
* Copyright (c) 2012-2032 Accounting Center of China Aviation(ACCA).
* All Rights Reserved.
*/
package com.acca.activemq;
import javax.jms.JMSException;
import javax.jms.MapMessage;
import org.springframework.jms.core.JmsTemplate;
import org.springframework.jms.support.JmsUtils;
/**
*
*
*
* @author zhouhua, 2012-12-25
*/
public class Receiver {
private JmsTemplate jmsTemplate;
// getter and setter
public JmsTemplate getJmsTemplate() {
return jmsTemplate;
}
public void setJmsTemplate(JmsTemplate jmsTemplate) {
this.jmsTemplate = jmsTemplate;
}
/**
* 构造函数
*/
public Receiver() {
}
public String receiveMessage() {
String my = "";
MapMessage message = (MapMessage) jmsTemplate.receive();
try {
my = message.getString("activemq");
} catch (JMSException e) {
throw JmsUtils.convertJmsAccessException(e);
}
return my;
}
}
/*
* Copyright (c) 2012-2032 Accounting Center of China Aviation(ACCA).
* All Rights Reserved.
*/
package com.acca.activemq;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
/**
*
*
*
* @author zhouhua, 2012-12-25
*/
public class ReceiverTest {
public static void main(String[] args) {
// TODO 自动生成方法存根
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
Receiver receiver = (Receiver) context.getBean("receiver");
System.out.print(receiver.receiveMessage());
}
}
首先需要启动ActiveMQ,然后运行SenderTest,运行之后再运行ReceiverTest,这样就可以看到控制台输出:Hello ActiveMQ;
ActiveMQ版本:apache-activemq-5.7.0
所需jar包:
activemq-camel-5.7.0.jar
activemq-console-5.7.0.jar
activemq-core-5.7.0.jar
activemq-jaas-5.7.0.jar
activemq-pool-5.7.0.jar
activemq-protobuf-1.1.jar
activemq-web-5.7.0.jar
camel-spring-2.10.1.jar
commons-logging-1.0.4.jar
commons-pool-1.6.jar
geronimo-j2ee-management_1.1_spec-1.0.1.jar
geronimo-jms_1.1_spec-1.1.1.jar
log4j-1.2.17.jar
slf4j-api-1.6.6.jar
slf4j-log4j12-1.6.6.jar
spring-asm-3.0.7.RELEASE.jar
spring-beans-3.0.7.RELEASE.jar
spring-context-3.0.7.RELEASE.jar
spring-core-3.0.7.RELEASE.jar
spring-expression-3.0.7.RELEASE.jar
spring-jms-3.0.7.RELEASE.jar
spring-tx-3.0.7.RELEASE.jar
apache-activemq-5.7.0下载地址:http://activemq.apache.org/activemq-570-release.html
以上所需jar包在apache-activemq-5.7.0\lib\optional中可以找到
分享到:
相关推荐
标题中的“ActiveMQ与Spring集成实例之使用Maven构建”是指在Java开发环境中,通过Maven构建工具将Apache ActiveMQ消息中间件与Spring框架整合在一起的实际操作案例。这个主题涵盖了几大关键知识点: 1. **Apache ...
**ActiveMQ与Spring集成实例详解** ActiveMQ是Apache软件基金会下的一个开源项目,它是一个功能丰富的Java消息服务(JMS)提供商,支持多种协议,并且能够处理大量的并发消息传输。而Spring框架则是一个广泛使用的...
**ActiveMQ与Spring集成实例——使用消息转换器** 在企业级应用开发中,消息队列(Message Queue,MQ)作为一种解耦和异步处理的重要工具,被广泛应用。Apache ActiveMQ 是一个开源的消息中间件,它支持多种消息...
ActiveMQ与Spring线程池整合的一个实例。 lib库没有上传。 对于实例的讲解,在竹子的论坛有我对这个实例的帖子(http://www.java2000.net/viewthread.jsp?tid=1167) lib中包含: apache-activemq-4.1.1.jar ...
Spring还提供了丰富的模块,如数据访问、Web、测试等,其中Spring JMS模块专门用于集成消息中间件,使得与ActiveMQ的整合变得简单。 三、ActiveMQ与Spring的整合 1. 添加依赖:首先,在项目中引入ActiveMQ和Spring...
ActiveMQ支持多种协议,如OpenWire、AMQP、STOMP等,并且可以与其他Java应用服务器集成。 Spring框架则是一个广泛应用的轻量级容器,它简化了Java应用程序的开发,包括对JMS的支持。Spring通过其`org.spring...
Apache ActiveMQ是业界广泛使用的开源消息代理,而Spring框架则提供了与ActiveMQ集成的强大支持。本实例将探讨如何在Spring环境中配置和使用ActiveMQ,包括Queue和Topic两种通信模式,以及同步和异步的消息接收方式...
**二、Spring与ActiveMQ集成** 1. **引入依赖** 在Spring项目中,我们需要添加ActiveMQ的相关依赖,如`spring-jms`和`activemq-client`。在`pom.xml`或`build.gradle`文件中添加对应的Maven或Gradle依赖。 2. **...
本文将深入探讨如何将ActiveMQ与Spring结合使用,以创建一个高效、可靠的分布式系统。 首先,让我们了解Java消息服务(JMS)。JMS是一个为分布式环境设计的应用程序接口,它定义了生产、发送、接收和消费消息的标准...
《ActiveMQ与Spring整合详解及1.2版本的使用》 在Java消息服务(Java Message...尽管它可能不包含最新的特性和改进,但对于理解JMS和Spring集成的基础原理,以及构建简单消息传递系统,这个库仍然具有很高的学习价值。
标题中的“activemq整合spring”指的是在Java环境中,如何将Apache ActiveMQ,一个流行的开源消息代理和消息中间件,与Spring框架集成,以便利用Spring的便利性来管理ActiveMQ的配置和操作。ActiveMQ提供了发布/订阅...
Spring集成ActiveMQ是将Spring框架与ActiveMQ消息中间件相结合,实现异步处理和解耦应用程序的关键技术。在本文中,我们将深入探讨如何配置和使用这一组合,以及它在实际项目中的应用。 首先,让我们了解Spring框架...
通过这个简单的示例,我们可以了解到如何在Spring应用中集成ActiveMQ,实现消息的发布与订阅。在实际项目中,可以根据需求调整配置,例如设置消息持久化、添加消息确认机制、处理事务等,以满足更复杂的业务场景。...
将 ActiveMQ 与 Spring 结合,可以方便地在 Spring 应用中集成消息队列,实现高效的消息传递。 **1. 安装与配置 ActiveMQ** 首先,你需要下载并安装 ActiveMQ。在官方网站上可以找到最新版本的下载链接。安装完成...
首先,`activemq-spring-1.5.jar`是专门为Spring框架设计的ActiveMQ集成库,它使得在Spring应用中配置和使用ActiveMQ变得异常简单。这个版本1.5的库是在Spring框架成熟时期发布,旨在提供与早期Spring版本的良好兼容...
Spring 框架提供了与 ActiveMQ 集成的能力,使得开发者可以轻松地在 Spring 应用中使用 ActiveMQ。整合主要通过以下组件实现: 1. **Spring JMS**: Spring 提供了 JmsTemplate 类,它是发送和接收 JMS 消息的主要...
9. **Spring注解**:在提供的实例中,可能包含了使用注解的方式配置Spring与ActiveMQ的集成,如`@EnableJms`启动JMS支持,`@JmsListener`定义消息监听器等。 10. **Tomcat服务器**:Tomcat是一个流行的Java Web...
在IT行业中,集成ActiveMQ、Spring以及Spring MVC是构建高效、可扩展的Web应用程序的常见实践。这个"activeMQ+spring+springmvc整合示例"旨在帮助开发者理解如何将这三者结合,以实现消息队列(Message Queue)的...