<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">
<!-- ------ 第一部分:基础零件 ------->
<!-- 1. 配置ActiveMQ Broker 暂时采用在JVM中嵌入这种最简单的模式,
当spring初始化时候,ActiveMQ embedded Broker 就会启动了。
-->
<amq:broker useJmx="false" persistent="true">
<!-- 2.持久化消息 使用spring的listenerContainer,消息用持久化保存,服务器重启不会丢失 -->
<amq:persistenceAdapter>
<amq:amqPersistenceAdapter directory="d:/iteye/amq" />
</amq:persistenceAdapter>
<amq:transportConnectors>
<amq:transportConnector uri="tcp://localhost:0" />
</amq:transportConnectors>
</amq:broker>
<!-- 连接外部的activeMQ
<amq:connectionFactory id="jmsConnectionFactory"
brokerURL="tcp://localhost:61616?wireFormat.maxInactivityDuration=0"
/>
-->
<!--
2. 配置(A)ConnectionFactory 连接工厂
由于前面配置的Broker是JVM embedded 所以URL为:vm://localhost
-->
<amq:connectionFactory id="jmsConnectionFactory"
brokerURL="vm://localhost" />
<!--
3 配置(B)Queue 队列 使用Queue方式
-->
<amq:queue name="QUEUE" physicalName="auto_check" />
<!--
4. 配置(C)Converter 转换器
-->
<bean id="defaultMessageConverter" class="com.iteye.queue.DefaultMessageConverter" />
<!-- -------第一部分:发送端 ---->
<!--
1 配置JmsTemplate JMS模版
Spring提供的Template,绑定了(A)ConnectionFactory与(C)Converter。
-->
<bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate">
<property name="connectionFactory">
<!-- lets wrap in a pool to avoid creating a connection per send
让包在池中,避免每发送一次就新建一个连接
-->
<bean class="org.springframework.jms.connection.SingleConnectionFactory">
<property name="targetConnectionFactory" ref="jmsConnectionFactory" />
</bean>
</property>
<!-- custom MessageConverter
自定义消息转换器
-->
<property name="messageConverter" ref="defaultMessageConverter" />
</bean>
<!-- 2.Producer 消息发送者,使用JmsTemplate发送消息,绑定了JmsTemplate (含A、C)与(B)Queue。-->
<bean id="queueMessageProducer" class="com.iteye.queue.QueueMessageProducer">
<property name="template" ref="jmsTemplate" />
<property name="destination" ref="QUEUE" />
</bean>
<!-------第三部分:接收端----->
<!-- 1.接收处理者(MDP)使用Spring的MessageListenerAdapter,
指定负责处理消息的POJO及其方法名,绑定(C)Converter。
-->
<bean id="queueConsumer" class="com.iteye.queue.QueueConsumer">
<property name="interaction" ref="autoCheckInteraction" />
</bean>
<bean id="queueListener"
class="org.springframework.jms.listener.adapter.MessageListenerAdapter">
<!-- 负责处理消息的对象 -->
<constructor-arg ref="queueConsumer" />
<!-- 指定处理消息的方法名-->
<property name="defaultListenerMethod" value="receive" />
<!-- 绑定转换器 -->
<property name="messageConverter" ref="defaultMessageConverter" />
</bean>
<!-- 2. listenerContainer 负责调度MDP, 绑定(A) connectionFactory, (B)Queue和MDP。listener container,MDP无需实现接口 -->
<bean id="queueListenerContainer" class="org.springframework.jms.listener.DefaultMessageListenerContainer">
<property name="connectionFactory" ref="jmsConnectionFactory" />
<property name="destination" ref="QUEUE" />
<property name="messageListener" ref="queueListener" />
</bean>
</beans>
分享到:
相关推荐
**ActiveMQ配置文件详解** Apache ActiveMQ 是一个开源的消息中间件,它实现了多种消息协议,如JMS(Java Message Service)和AMQP(Advanced Message Queuing Protocol),并且广泛应用于分布式系统中,提供可靠的...
Spring集成ActiveMQ配置详解 Spring框架与ActiveMQ的集成,为开发者提供了一种高效、可靠的JMS消息处理机制。在企业级应用中,这种集成能够极大地提升系统的响应速度和容错能力,特别是在需要异步通信和分布式事务...
用于ACtiveMq 配置插件配置使用,配置介绍等,适合初学者
ActiveMQ路由配置方式 ActiveMQ路由配置是Apache ActiveMQ项目中的一种重要配置方式,它依赖另一个Apache项目Camel。ActiveMQ集成了Camel,启动时同时会启动Camel。通过Camel Web Console可以进行Routing配置。 ...
本主题主要探讨如何将ActiveMQ配置为使用MySQL 8作为其持久化存储方式,以及在这个过程中所需的Jar包。 1. **ActiveMQ与持久化**: - ActiveMQ允许用户选择不同的持久化机制,包括文件系统(KahaDB)和关系数据库...
Spring 集成 ActiveMQ 配置 Spring 集成 ActiveMQ 配置是指将 Spring 框架与 ActiveMQ 消息队列集成,以实现基于 JMS(Java Message Service)的消息传递。ActiveMQ 是 Apache 软件基金会的一个开源的消息队列系统...
在本文中,我们将深入探讨ActiveMQ的配置及其入门知识。 一、ActiveMQ简介 ActiveMQ是Apache软件基金会的顶级项目,它的核心功能是作为消息代理,负责接收、存储和转发消息。它支持多种协议,如OpenWire、AMQP、...
本篇文章将详细阐述如何在Windows操作系统上安装和配置JDK、Tomcat以及ActiveMQ,这三个组件是开发和部署Java Web应用程序的基础。 首先,我们从JDK的安装与配置开始。JDK (Java Development Kit) 是开发和运行Java...
#### 一、ActiveMQ配置概览 ActiveMQ是一款非常流行的开源消息中间件,它基于Java开发,支持多种消息传递模式,如点对点(P2P)、发布/订阅(Pub/Sub)等。本文将详细介绍ActiveMQ的配置要点,包括Java内存调整、主从...
"ActiveMQ5.13 安装与配置" ActiveMQ 是 Apache 软件基金会提供的一个开源message broker,能够实现点对点(Point-to-Point)和发布/订阅(Publish/Subscribe)模式的消息传递。ActiveMQ 5.13 是 ActiveMQ 的一个...
对于初学者,理解这些基本元素是掌握ActiveMQ配置的关键。配合提供的文档,如《activeMQ in Action.doc》和《ActiveMQ测试报告.pdf》,可以更深入地学习ActiveMQ的工作原理和最佳实践。对于与数据库的集成,如`...
本文将深入探讨如何在ActiveMQ中配置组合队列(也称为复制队列)以及实现负载均衡。 首先,让我们了解什么是组合队列。组合队列是一种特殊的队列,它的特点是消息不仅被存储在一个队列中,还会被复制到其他队列,...
本篇将深入讲解如何在Spring环境中配置和使用ActiveMQ。 首先,我们需要了解Spring与ActiveMQ集成的基本概念。Spring框架提供了一套完整的JMS(Java Message Service)支持,可以方便地与各种消息队列进行整合,...