`
ycljf86
  • 浏览: 77496 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

activeMQ 与TOMCAT 结合

阅读更多
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是你的队列的索引文件。
每次发生消息,可以看到在增长。
分享到:
评论

相关推荐

    JMS教程+activemq以及activemq和tomcat的整合

    要将ActiveMQ与Tomcat整合,你需要完成以下步骤: 1. **下载和安装ActiveMQ**: 获取ActiveMQ的最新版本,并解压到合适的位置。 2. **配置ActiveMQ**: 修改`conf.activemq.xml`配置文件,设置所需的参数,如端口、...

    ActiveMQ与Tomcat整合教程.docx

    同时,结合 Webservice 和第三方报表工具,实现与不同系统之间的数据交互和定制化报表生成,满足多客户、多语言的管理需求。教程内容可能包括 ActiveMQ 的安装配置、Spring 中的消息监听器配置、Webservice 接口的...

    Spring+JMS+ActiveMQ+Tomcat jar下载

    Spring、JMS、ActiveMQ和Tomcat是Java开发中常用的技术组件,它们分别扮演着不同的角色,构建出高效的企业级消息通信系统。本教程将详细阐述这些技术的使用及其相互结合的方式。 首先,Spring是一个开源的Java应用...

    spring2 activemq5 tomcat6构建jms

    5. **事务管理**: 如果需要确保消息的一致性,可以结合Spring的事务管理功能,将消息发送与业务操作置于同一个事务中。 6. **测试和优化**: 测试消息系统的可靠性、性能和容错能力,根据需要进行调整和优化。 在...

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

    ### Spring+JMS+ActiveMQ+Tomcat 实现消息服务 #### 一、技术栈介绍 在本案例中,我们采用的技术栈为Spring 2.5、ActiveMQ 5.4.0 和 Tomcat 6.0.30。这些技术的结合能够有效地构建一个可靠的消息传递系统。 - **...

    tomcat下activemq之http配置

    Stomp是一种轻量级的、跨平台的协议,非常适合与Web应用结合。你可以通过`&lt;stompWorkQueue&gt;`配置Stomp工作队列,以处理HTTP请求。 总的来说,配置Tomcat下的ActiveMQ HTTP连接涉及到多个方面,包括XML配置文件的...

    apache-activemq-5.11.3

    ActiveMQ版本5.11.3是其历史上的一个重要版本,提供了对Tomcat7的支持,使得这款消息代理能够与流行的Java应用服务器无缝集成。 **ActiveMQ的主要特性:** 1. **高性能**:ActiveMQ以其高吞吐量和低延迟著称,能够...

    ActiveMQ+Camel+Spring+jms Demo(一)

    在本项目中,“ActiveMQ+Camel+Spring+jms Demo(一)”是一个结合了四个关键技术的示例,旨在展示如何构建一个基于消息中间件的分布式应用程序。这四个技术分别是ActiveMQ、Apache Camel、Spring框架以及Java消息...

    flex 结合spring activemq 做的一个简易聊天室

    源代码通常包括Flex前端的MXML和ActionScript文件,Spring的Java配置和服务类,以及与ActiveMQ交互的相关配置和代码。 “testspringflex”这个文件名可能是项目目录或者测试目录,其中可能包含了用于测试项目功能的...

    Spring集成ActiveMQ配置

    Spring集成ActiveMQ是将Spring框架与ActiveMQ消息中间件相结合,实现异步处理和解耦应用程序的关键技术。在本文中,我们将深入探讨如何配置和使用这一组合,以及它在实际项目中的应用。 首先,让我们了解Spring框架...

    ActiveMQ快速上手 PDF

    - **集成 ActiveMQ 和 Tomcat**:将 ActiveMQ 集成到 Tomcat 容器中,便于部署。 - **什么时候使用 ActiveMQ**:分析在哪些场景下使用 ActiveMQ 最为合适。 #### 十四、ActiveMQ优化 - **影响 ActiveMQ 性能的因素*...

    ActiveMQ实战(英文版)

    在学习过程中,读者应结合实际项目需求,逐步掌握ActiveMQ的使用技巧,例如创建和管理消息队列,设置消息优先级,处理消息死信,以及使用ActiveMQ与其他系统如数据库、Web服务等集成。同时,熟悉ActiveMQ的Web控制台...

    SpringBoot+ActiveMq+MQTT实现消息的发送和接收

    总结来说,SpringBoot、ActiveMQ和MQTT结合使用,可以构建出高效、可靠的分布式消息传递系统。通过理解这些技术的工作原理和集成方式,你可以更好地实现后台消费者的监听、生产者的发送,以及消息接口和服务的实现,...

    ActiveMQ实例

    将ActiveMQ与Spring结合,可以方便地在Spring应用中引入消息队列,实现异步处理和解耦。通过配置Spring的`JmsTemplate`,开发者可以发送和接收消息,而无需直接操作JMS API。此外,Spring还支持ActiveMQ的...

    ActiveMQ 使用Ajax 收发消息实战

    标题中的"ActiveMQ 使用Ajax 收发消息实战"指出我们将探讨如何使用ActiveMQ消息中间件与Ajax技术结合,实现Web应用程序中的异步消息传递。ActiveMQ是Apache软件基金会的一个项目,提供了一个开源的消息代理,支持...

    activeMq启动步骤

    如果你的项目已经集成了Spring框架,你可以将ActiveMQ与Spring结合,实现更便捷的消息管理。以下是一般步骤: 1. 添加ActiveMQ和Spring的依赖到你的项目中,如在Maven的pom.xml文件中添加相应的依赖项。 2. 配置...

    Tomcat与Java_Web开发技术详解3.pdf

    3. **与消息中间件集成**:如与ActiveMQ、RabbitMQ等消息队列服务集成,实现异步通信和消息传递。 #### 六、Tomcat的高级功能 除了基础功能之外,Tomcat还提供了一系列高级功能,用于满足更复杂的应用场景需求: ...

    ActiveMQ.rar

    一: ActiveMQ简介 包括:是什么、能干什么、特点;...包括:监控和管理Broker、集成ActiveMQ和Tomcat、什么时候使用ActiveMQ等 n 十四: ActiveMQ优化 包括:影响ActiveMQ性能的因素、常见的优化方式和配置等

    Spring和ActiveMQ的整合实例源码

    本实例“Spring和ActiveMQ的整合实例源码”旨在展示如何将Spring框架与ActiveMQ结合使用,利用JMS进行高效的消息传递。这个实例适合那些希望学习或深入了解Spring框架如何与消息中间件集成的开发者。它基于Spring的...

    spring3+ActiveMQ+blazeds+flex consumer

    这个项目展示了如何将Spring3的灵活性与ActiveMQ的高性能消息传递能力相结合,通过BlazeDS和Flex构建出一款强大的实时通信系统。在实际应用中,这种架构可以应用于各种场景,如股票交易、在线聊天室、实时监控系统等...

Global site tag (gtag.js) - Google Analytics