activeMQ内置在Tomcat(6.0)中:
activemq.xml
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:amq="http://activemq.apache.org/schema/core"
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
http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core.xsd
http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">
<broker xmlns="http://activemq.apache.org/schema/core" brokerName="localhost" persistent="false" useJmx="false">
<persistenceAdapter>
<amqPersistenceAdapter directory="activemq-data" maxFileLength="6mb"/>
</persistenceAdapter>
<transportConnectors>
<transportConnector uri="tcp://localhost:61616"/>
<transportConnector uri="stomp://localhost:61613"/>
</transportConnectors>
</broker>
</beans>
web.xml
<context-param>
<param-name>brokerURI</param-name>
<param-value>/WEB-INF/activemq.xml</param-value>
</context-param>
<listener>
<listener-class>org.apache.activemq.web.SpringBrokerContextListener</listener-class>
</listener>
tomcat的conf的context.xml(添加JNDI resouce)
<Resource
name="jms/NormalConnectionFactory"
auth="Container"
type="org.apache.activemq.ActiveMQConnectionFactory"
description="JMS Connection Factory"
factory="org.apache.activemq.jndi.JNDIReferenceFactory"
brokerURL="tcp://localhost:61616"
brokerName="localhost"
useEmbeddedBroker="false"/>
<Resource name="jms/queue/MyQueue"
auth="Container"
type="org.apache.activemq.command.ActiveMQQueue"
factory="org.apache.activemq.jndi.JNDIReferenceFactory"
physicalName="MY.TEST.FOO.QUEUE"/>
spring 的 applicationContext.xml
<!--##START using jndi to get resouce on tomcat server -->
<!--JNDI resource defined in 'tomcat/conf/context.xml' -->
<bean id="connectionFactory"
class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName">
<value>java:comp/env/jms/NormalConnectionFactory</value>
</property>
</bean>
<bean id="destination" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName">
<value>java:comp/env/jms/queue/MyQueue</value>
</property>
</bean>
<!--##END using jndi to get resouce on tomcat server -->
<bean id="jmsTemplate"
class="org.springframework.jms.core.JmsTemplate">
<property name="connectionFactory" ref="connectionFactory" />
<property name="defaultDestination" ref="destination" />
<property name="receiveTimeout" value="6000" />
</bean>
<!-- WORK POJO -->
<bean id="rantzMdp"
class="com.test.activemq.BizPojo" />
<bean class="org.springframework.jms.listener.SimpleMessageListenerContainer">
<property name="connectionFactory" ref="connectionFactory" />
<property name="destination" ref="destination" />
<property name="messageListener" ref="purePojoMdp" />
</bean>
<bean id="purePojoMdp"
class="org.springframework.jms.listener.adapter.MessageListenerAdapter">
<property name="delegate" ref="rantzMdp" />
<property name="defaultListenerMethod"
value="processMessage" />
</bean>
BizPojo.java
public class BizPojo {
public void processMessage(Map map){
//business code
//Do time-consuming job ,sleep 3s in here.
// try {
// Thread.sleep(3000);
// } catch (InterruptedException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
System.out.println("spring adapter(message listener) get message: "+(String)map.get("message"));
}
默认在tomcat的bin下生成active-data文件夹,你的队列的数据存放在activemq-data\kr-store\data\data-queue-data-1中
hash-index-queue-data_queue#3a#2f#2fMY.TEST.FOO.QUEUE是你的队列的索引文件。
每次发生消息,可以看到在增长。
分享到:
相关推荐
要将ActiveMQ与Tomcat整合,你需要完成以下步骤: 1. **下载和安装ActiveMQ**: 获取ActiveMQ的最新版本,并解压到合适的位置。 2. **配置ActiveMQ**: 修改`conf.activemq.xml`配置文件,设置所需的参数,如端口、...
同时,结合 Webservice 和第三方报表工具,实现与不同系统之间的数据交互和定制化报表生成,满足多客户、多语言的管理需求。教程内容可能包括 ActiveMQ 的安装配置、Spring 中的消息监听器配置、Webservice 接口的...
Spring、JMS、ActiveMQ和Tomcat是Java开发中常用的技术组件,它们分别扮演着不同的角色,构建出高效的企业级消息通信系统。本教程将详细阐述这些技术的使用及其相互结合的方式。 首先,Spring是一个开源的Java应用...
5. **事务管理**: 如果需要确保消息的一致性,可以结合Spring的事务管理功能,将消息发送与业务操作置于同一个事务中。 6. **测试和优化**: 测试消息系统的可靠性、性能和容错能力,根据需要进行调整和优化。 在...
### Spring+JMS+ActiveMQ+Tomcat 实现消息服务 #### 一、技术栈介绍 在本案例中,我们采用的技术栈为Spring 2.5、ActiveMQ 5.4.0 和 Tomcat 6.0.30。这些技术的结合能够有效地构建一个可靠的消息传递系统。 - **...
Stomp是一种轻量级的、跨平台的协议,非常适合与Web应用结合。你可以通过`<stompWorkQueue>`配置Stomp工作队列,以处理HTTP请求。 总的来说,配置Tomcat下的ActiveMQ HTTP连接涉及到多个方面,包括XML配置文件的...
ActiveMQ版本5.11.3是其历史上的一个重要版本,提供了对Tomcat7的支持,使得这款消息代理能够与流行的Java应用服务器无缝集成。 **ActiveMQ的主要特性:** 1. **高性能**:ActiveMQ以其高吞吐量和低延迟著称,能够...
在本项目中,“ActiveMQ+Camel+Spring+jms Demo(一)”是一个结合了四个关键技术的示例,旨在展示如何构建一个基于消息中间件的分布式应用程序。这四个技术分别是ActiveMQ、Apache Camel、Spring框架以及Java消息...
源代码通常包括Flex前端的MXML和ActionScript文件,Spring的Java配置和服务类,以及与ActiveMQ交互的相关配置和代码。 “testspringflex”这个文件名可能是项目目录或者测试目录,其中可能包含了用于测试项目功能的...
Spring集成ActiveMQ是将Spring框架与ActiveMQ消息中间件相结合,实现异步处理和解耦应用程序的关键技术。在本文中,我们将深入探讨如何配置和使用这一组合,以及它在实际项目中的应用。 首先,让我们了解Spring框架...
- **集成 ActiveMQ 和 Tomcat**:将 ActiveMQ 集成到 Tomcat 容器中,便于部署。 - **什么时候使用 ActiveMQ**:分析在哪些场景下使用 ActiveMQ 最为合适。 #### 十四、ActiveMQ优化 - **影响 ActiveMQ 性能的因素*...
在学习过程中,读者应结合实际项目需求,逐步掌握ActiveMQ的使用技巧,例如创建和管理消息队列,设置消息优先级,处理消息死信,以及使用ActiveMQ与其他系统如数据库、Web服务等集成。同时,熟悉ActiveMQ的Web控制台...
总结来说,SpringBoot、ActiveMQ和MQTT结合使用,可以构建出高效、可靠的分布式消息传递系统。通过理解这些技术的工作原理和集成方式,你可以更好地实现后台消费者的监听、生产者的发送,以及消息接口和服务的实现,...
将ActiveMQ与Spring结合,可以方便地在Spring应用中引入消息队列,实现异步处理和解耦。通过配置Spring的`JmsTemplate`,开发者可以发送和接收消息,而无需直接操作JMS API。此外,Spring还支持ActiveMQ的...
标题中的"ActiveMQ 使用Ajax 收发消息实战"指出我们将探讨如何使用ActiveMQ消息中间件与Ajax技术结合,实现Web应用程序中的异步消息传递。ActiveMQ是Apache软件基金会的一个项目,提供了一个开源的消息代理,支持...
如果你的项目已经集成了Spring框架,你可以将ActiveMQ与Spring结合,实现更便捷的消息管理。以下是一般步骤: 1. 添加ActiveMQ和Spring的依赖到你的项目中,如在Maven的pom.xml文件中添加相应的依赖项。 2. 配置...
3. **与消息中间件集成**:如与ActiveMQ、RabbitMQ等消息队列服务集成,实现异步通信和消息传递。 #### 六、Tomcat的高级功能 除了基础功能之外,Tomcat还提供了一系列高级功能,用于满足更复杂的应用场景需求: ...
一: ActiveMQ简介 包括:是什么、能干什么、特点;...包括:监控和管理Broker、集成ActiveMQ和Tomcat、什么时候使用ActiveMQ等 n 十四: ActiveMQ优化 包括:影响ActiveMQ性能的因素、常见的优化方式和配置等
本实例“Spring和ActiveMQ的整合实例源码”旨在展示如何将Spring框架与ActiveMQ结合使用,利用JMS进行高效的消息传递。这个实例适合那些希望学习或深入了解Spring框架如何与消息中间件集成的开发者。它基于Spring的...
这个项目展示了如何将Spring3的灵活性与ActiveMQ的高性能消息传递能力相结合,通过BlazeDS和Flex构建出一款强大的实时通信系统。在实际应用中,这种架构可以应用于各种场景,如股票交易、在线聊天室、实时监控系统等...