`
baobeituping
  • 浏览: 1067764 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

ActiveMQ的activemq.xml详细配置讲解

阅读更多
  1. <beans  
  2.   xmlns="http://www.springframework.org/schema/beans"  
  3.   xmlns:amq="http://activemq.org/config/1.0"  
  4.   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   
  5.   http://activemq.org/config/1.0 http://activemq.apache.org/schema/activemq-core.xsd   
  6.   http://activemq.apache.org/camel/schema/spring>  
  7.     
  8.   <!-- persistent="true"表示要持久化存储消息,和子元素persistenceAdapter结合使用 -->  
  9.   <!-- dataDirectory默认的存储持久化数据的目录 -->  
  10.   <!-- brokerName 设置broker的name,在注意在网络上必须是唯一的-->  
  11.   <!-- 更多参考http://activemq.apache.org/xbean-xml-reference-50.html#XBeanXMLReference5.0-brokerelement -->  
  12.   <broker xmlns="http://activemq.org/config/1.0" brokerName="192.168.1.148" persistent ="true" dataDirectory="${activemq.base}/data" useShutdownHook="false">  
  13.     
  14.     <!-- Destination specific policies using destination names or wildcards -->  
  15.     <!-- wildcards意义见http://activemq.apache.org/wildcards.html -->  
  16.     <destinationPolicy>  
  17.       <policyMap>  
  18.         <policyEntries>  
  19.        <!-- 这里使用了wildcards,表示所有以EUCITA开头的topic -->  
  20.           <policyEntry topic="EUCITA.>" producerFlowControl="false" memoryLimit="10mb">  
  21.             <!-- 分发策略 -->  
  22.         <dispatchPolicy>  
  23.           <!-- 按顺序分发 -->  
  24.               <strictOrderDispatchPolicy/>  
  25.             </dispatchPolicy>  
  26.         <!--  恢复策略-->  
  27.             <subscriptionRecoveryPolicy>  
  28.           <!-- 只恢复最后一个message -->  
  29.               <lastImageSubscriptionRecoveryPolicy/>  
  30.             </subscriptionRecoveryPolicy>  
  31.           </policyEntry>  
  32.         </policyEntries>  
  33.       </policyMap>  
  34.     </destinationPolicy>  
  35.   
  36.     <!-- The transport connectors ActiveMQ will listen to -->  
  37.     <transportConnectors>  
  38.        <transportConnector name="openwire" uri="tcp://192.168.1.148:61616" discoveryUri="multicast://default"/>  
  39.        <transportConnector name="ssl"     uri="ssl://192.168.1.148:61617"/>  
  40.        <transportConnector name="stomp"   uri="stomp://192.168.1.148:61613"/>  
  41.        <transportConnector name="xmpp"    uri="xmpp://192.168.1.148:61222"/>  
  42.     </transportConnectors>  
  43.       
  44.     <!-- 消息持久化方式 -->  
  45.     <persistenceAdapter>  
  46.       <amqPersistenceAdapter directory="${activemq.base}/data"/>  
  47.     </persistenceAdapter>  
  48. </broker>  
  49.   
  50.   <!-- lets create a command agent to respond to message based admin commands on the ActiveMQ.Agent topic -->  
  51.     <commandAgent xmlns="http://activemq.org/config/1.0"/>  
  52.      
  53.   <!-- An embedded servlet engine for serving up the Admin console -->  
  54.   <jetty xmlns="http://mortbay.com/schemas/jetty/1.0">  
  55.     <connectors>  
  56.       <nioConnector port="8161" />  
  57.     </connectors>  
  58.   
  59.     <handlers>  
  60.       <webAppContext contextPath="/admin" resourceBase="${activemq.base}/webapps/admin" logUrlOnStart="true" />        
  61.       <webAppContext contextPath="/demo" resourceBase="${activemq.base}/webapps/demo" logUrlOnStart="true" />          
  62.     </handlers>  
  63.   </jetty>    
  64. </beans>  
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:amq="http://activemq.org/config/1.0"
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.org/config/1.0 http://activemq.apache.org/schema/activemq-core.xsd
http://activemq.apache.org/camel/schema/spring>
<!-- persistent="true"表示要持久化存储消息,和子元素persistenceAdapter结合使用 -->
<!-- dataDirectory默认的存储持久化数据的目录 -->
<!-- brokerName 设置broker的name,在注意在网络上必须是唯一的-->
<!-- 更多参考http://activemq.apache.org/xbean-xml-reference-50.html#XBeanXMLReference5.0-brokerelement -->
<broker xmlns="http://activemq.org/config/1.0" brokerName="192.168.1.148" persistent ="true" dataDirectory="${activemq.base}/data" useShutdownHook="false">
<!-- Destination specific policies using destination names or wildcards -->
<!-- wildcards意义见http://activemq.apache.org/wildcards.html -->
<destinationPolicy>
<policyMap>
<policyEntries>
<!-- 这里使用了wildcards,表示所有以EUCITA开头的topic -->
<policyEntry topic="EUCITA.>" producerFlowControl="false" memoryLimit="10mb">
<!-- 分发策略 -->
<dispatchPolicy>
<!-- 按顺序分发 -->
<strictOrderDispatchPolicy/>
</dispatchPolicy>
<!--  恢复策略-->
<subscriptionRecoveryPolicy>
<!-- 只恢复最后一个message -->
<lastImageSubscriptionRecoveryPolicy/>
</subscriptionRecoveryPolicy>
</policyEntry>
</policyEntries>
</policyMap>
</destinationPolicy>
<!-- The transport connectors ActiveMQ will listen to -->
<transportConnectors>
<transportConnector name="openwire" uri="tcp://192.168.1.148:61616" discoveryUri="multicast://default"/>
<transportConnector name="ssl"     uri="ssl://192.168.1.148:61617"/>
<transportConnector name="stomp"   uri="stomp://192.168.1.148:61613"/>
<transportConnector name="xmpp"    uri="xmpp://192.168.1.148:61222"/>
</transportConnectors>
<!-- 消息持久化方式 -->
<persistenceAdapter>
<amqPersistenceAdapter directory="${activemq.base}/data"/>
</persistenceAdapter>
</broker>
<!-- lets create a command agent to respond to message based admin commands on the ActiveMQ.Agent topic -->
<commandAgent xmlns="http://activemq.org/config/1.0"/>
<!-- An embedded servlet engine for serving up the Admin console -->
<jetty xmlns="http://mortbay.com/schemas/jetty/1.0">
<connectors>
<nioConnector port="8161" />
</connectors>
<handlers>
<webAppContext contextPath="/admin" resourceBase="${activemq.base}/webapps/admin" logUrlOnStart="true" />
<webAppContext contextPath="/demo" resourceBase="${activemq.base}/webapps/demo" logUrlOnStart="true" />
</handlers>
</jetty>
</beans>

注释

关于XML配置中元素的具体信息可以参考http://activemq.apache.org/xbean-xml-reference-50.html 下面介绍本篇配置使用的一些重要元素。

DispathPolicy

ActiveMQ支持3中不同的分发策略(避免翻译了以后误解,这里用原文):

  1. <roundRobinDispatchPolicy>:Simple dispatch policy that sends a message to every subscription that matches the message.
  2. <simpleDispatchPolicy>:Simple dispatch policy that sends a message to every subscription that matches the message.
  3. <strictOrderDispatchPolicy>:Dispatch policy that causes every subscription to see messages in the same order.

SubscriptionRecoveryPolicy

ActiveMQ支持6种恢复策略,可以自行选择使用不同的策略

  1. <fixedCountSubscriptionRecoveryPolicy>: keep a fixed count of last messages.
  2. <fixedSizedSubscriptionRecoveryPolicy>: keep a fixed amount of memory available in RAM for message history which is evicted in time order.
  3. <lastImageSubscriptionRecoveryPolicy>:only keep the last message.
  4. <noSubscriptionRecoveryPolicy>:disable recovery of messages.
  5. <queryBasedSubscriptionRecoveryPolicy>:perform a user specific query mechanism to load any messages they may have missed.
  6. <timedSubscriptionRecoveryPolicy>:keep a timed buffer of messages around in memory and use that to recover new subscriptions.
分享到:
评论
3 楼 jackyin5918 2013-11-21  
<transportConnector name="openwire" uri="tcp://192.168.1.148:61616"
这个连接配置里面的 ip地址什么作用呢?
为什么要配置这个ip地址,感觉使用本机的ip地址不就可以了么?
2 楼 baobeituping 2011-05-02  
Line 164 in XML document from class path resource [activemq.x
ml] is invalid;
在你的activemq.xml  的164行出错了。你看看是怎么写的
1 楼 tom&jerry 2011-04-06  
大哥,出现下面的情况是怎么回事?谢谢!

ERROR: java.lang.Exception: org.springframework.beans.factory.xml.XmlBeanDefinit
ionStoreException: Line 164 in XML document from class path resource [activemq.x
ml] is invalid; nested exception is org.xml.sax.SAXParseException: cvc-complex-t
ype.2.4.c: The matching wildcard is strict, but no declaration can be found for
element 'jetty'.
java.lang.Exception: org.springframework.beans.factory.xml.XmlBeanDefinitionStor
eException: Line 164 in XML document from class path resource [activemq.xml] is
invalid; nested exception is org.xml.sax.SAXParseException: cvc-complex-type.2.4
.c: The matching wildcard is strict, but no declaration can be found for element
'jetty'.
        at org.apache.activemq.console.command.StartCommand.runTask(StartCommand
.java:99)
        at org.apache.activemq.console.command.AbstractCommand.execute(AbstractC
ommand.java:57)
        at org.apache.activemq.console.command.ShellCommand.runTask(ShellCommand
.java:143)
        at org.apache.activemq.console.command.AbstractCommand.execute(AbstractC
ommand.java:57)
        at org.apache.activemq.console.command.ShellCommand.main(ShellCommand.ja
va:85)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.activemq.console.Main.runTaskClass(Main.java:251)
        at org.apache.activemq.console.Main.main(Main.java:107)

相关推荐

    ActiveMQ in action.pdf 英文版

    - **配置文件详解**:分析`activemq.xml`配置文件,讲解如何定制服务器设置,如端口、存储策略等。 3. **消息生产者与消费者** - **创建生产者**:学习如何编写Java代码创建消息生产者,将消息发送到ActiveMQ队列...

    php 版本 activemq+stomp.php

    在与消息中间件如ActiveMQ交互时,XML可能被用来构造或解析消息格式。 在ActiveMQ中,PHP可以通过STOMP库连接到消息代理,发送和接收消息。STOMP PHP客户端库,如stomp-php-1.0.0,提供了与ActiveMQ通信的接口。这...

    Spring boot 和内置ActiveMQ集成例子.zip

    本文将详细讲解如何使用Spring Boot与内置的ActiveMQ进行集成,以及如何通过代码实现这一过程。 首先,我们需要在Spring Boot项目中添加ActiveMQ的相关依赖。这可以通过在`pom.xml`文件中引入ActiveMQ客户端库和...

    ActiveMQ In Action.zip

    - 配置文件:通过修改XML配置文件,可以定制Broker的行为,如设置监听端口、日志级别等。 - 控制台:ActiveMQ提供了Web控制台,方便用户监控和管理消息队列。 - JMX管理:利用Java Management Extensions (JMX) ...

    activeMQ demo

    本文将深入探讨如何使用SpringBoot集成ActiveMQ,并提供一个完整的示例,同时讲解MQ界面的简单配置,涉及点对点消息模式和主题(Topic)订阅模式。 首先,我们需要理解ActiveMQ的基本概念。ActiveMQ是Apache出品的...

    Sping整合ActiveMq案例.zip

    本案例将重点讲解如何将Spring与ActiveMQ整合,以实现高效的消息传递功能。 首先,让我们了解Spring整合ActiveMQ的基础知识。Spring框架提供了对多种消息中间件的支持,包括ActiveMQ,通过其`spring-jms`模块,我们...

    spring activeMQ-demo 配置

    本篇将深入讲解如何在Spring环境中配置和使用ActiveMQ。 首先,我们需要了解Spring与ActiveMQ集成的基本概念。Spring框架提供了一套完整的JMS(Java Message Service)支持,可以方便地与各种消息队列进行整合,...

    activemq 配置说明与activemq入门讲解

    1. **配置文件**:ActiveMQ的主要配置文件是`conf/activemq.xml`。这个XML文件定义了ActiveMQ服务器的行为,包括监听端口、网络连接、存储策略、安全设置等。 2. **监听端口**:在`&lt;transportConnectors&gt;`元素下...

    activeMQ安装包.zip

    以下是对ActiveMQ和其安装过程的详细讲解。 1. **Apache ActiveMQ概述** - **定义**:Apache ActiveMQ是Apache软件基金会的一个项目,它提供了高性能、可靠的消息传递平台。 - **功能**:ActiveMQ支持多种协议,...

    配置ActiveMQ 静态集群

    本篇文章将详细讲解如何配置ActiveMQ以实现静态集群。 静态集群是ActiveMQ提供的一种高可用性解决方案,通过在多个节点间共享数据,确保即使某个节点故障,服务也能不间断地运行。以下我们将按照步骤介绍配置静态...

    基于kahadb的activemq高可用集群部署配置示例

    本示例将详细讲解如何基于KahaDB存储引擎构建ActiveMQ的高可用集群。 KahaDB是ActiveMQ的一个持久化存储机制,它提供了快速、可扩展和可靠的存储解决方案。在高可用集群中,KahaDB确保即使在broker故障时,消息也...

    ActiveMQ+spring配置方案详解

    本文将深入讲解ActiveMQ与Spring的整合配置方案。 首先,我们需要在项目中引入ActiveMQ的相关依赖。这通常通过在`pom.xml`文件中添加Maven依赖来完成。对于ActiveMQ,我们需要添加如下依赖: ```xml &lt;groupId&gt;...

    SpringBoot + activeMQ.zip

    压缩包内的文件名"ch9_3_4"可能是某个章节或部分的编号,这通常在教程或文档中出现,表示该内容是关于特定主题的详细讲解的一部分。在这里,"ch9_3_4"可能代表第9章第3小节的第4个部分,具体内容可能涵盖了...

    消息队列介绍和SpringBoot2.x整合RockketMQ、ActiveMQ

    本文介绍了消息队列的基本概念和作用,重点讲解了ActiveMQ5.x的主要特性和SpringBoot2.x中如何整合及实现点对点消息的实战案例。通过对这些知识点的理解和实践,开发者能够更好地理解和应用消息队列技术,提升系统...

    Spring与ActiveMQ整合完整案例

    本案例将详细讲解如何将Spring与ActiveMQ整合,以提升系统的可扩展性和解耦性。 1. **Spring框架**:Spring是一个全方位的开发框架,提供了依赖注入(Dependency Injection, DI)和面向切面编程(Aspect-Oriented ...

    activeMQ使用JDBC所需要的jar包

    本主题将详细讲解在ActiveMQ中使用JDBC持久化所需的jar包,以及如何进行配置。 首先,我们要明确的是,ActiveMQ内置了一个基于KahaDB的默认持久化机制,但用户可以根据需求选择JDBC持久化。JDBC持久化需要以下关键...

    ActiveMQ.7z

    - 配置消息代理:讲解如何修改`conf/activemq.xml`来定制服务器设置,例如设置持久化策略、网络连接和主题/队列配置。 - 生产者与消费者:介绍如何创建发送和接收消息的应用程序,使用JMS API或其他支持的协议。 ...

    ActiveMQ与spring整合封装

    本篇将详细讲解如何将ActiveMQ与Spring进行整合封装,实现高效、便捷的消息服务。 首先,ActiveMQ与Spring的整合主要基于Spring的JMS(Java Message Service)支持。Spring通过`ConnectionFactory`和`Destination`...

    ActiveMQ高可用+负载均衡集群的安装、配置、高可用测试

    本篇文章将详细讲解如何搭建ActiveMQ的高可用和负载均衡集群,以及进行相关的安装配置和高可用测试。 一、ActiveMQ简介 ActiveMQ是一款功能强大的消息代理,它支持多种消息协议,如OpenWire、AMQP、STOMP、XMPP等,...

Global site tag (gtag.js) - Google Analytics