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

ActiveMQ中的activemq.xml持久化数据库

阅读更多

<!--
    Licensed to the Apache Software Foundation (ASF) under one or more
    contributor license agreements.  See the NOTICE file distributed with
    this work for additional information regarding copyright ownership.
    The ASF licenses this file to You under the Apache License, Version 2.0
    (the "License"); you may not use this file except in compliance with
    the License.  You may obtain a copy of the License at
  
    http://www.apache.org/licenses/LICENSE-2.0
  
    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.
-->
<!-- START SNIPPET: example -->
<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://activemq.apache.org/camel/schema/spring http://activemq.apache.org/camel/schema/spring/camel-spring.xsd">

    <!-- Allows us to use system properties as variables in this configuration file -->
    <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
         <property name="locations">
            <value>file:///${activemq.base}/conf/credentials.properties</value>
         </property>     
    </bean>

    <broker xmlns="http://activemq.apache.org/schema/core" brokerName="localhost" dataDirectory="${activemq.base}/data">

        <!-- Destination specific policies using destination names or wildcards -->
        <destinationPolicy>
            <policyMap>
                <policyEntries>
                    <policyEntry queue=">" memoryLimit="5mb"/>
                    <policyEntry topic=">" memoryLimit="5mb">
                      <!-- you can add other policies too such as these
                        <dispatchPolicy>
                            <strictOrderDispatchPolicy/>
                        </dispatchPolicy>
                        <subscriptionRecoveryPolicy>
                            <lastImageSubscriptionRecoveryPolicy/>
                        </subscriptionRecoveryPolicy>
                      -->
                    </policyEntry>
                </policyEntries>
            </policyMap>
        </destinationPolicy>

        <!-- Use the following to configure how ActiveMQ is exposed in JMX -->
        <managementContext>
            <managementContext createConnector="false"/>
        </managementContext>

        <!-- The store and forward broker networks ActiveMQ will listen to -->
        <networkConnectors>
            <!-- by default just auto discover the other brokers -->
            <networkConnector name="default-nc" uri="multicast://default"/>
            <!-- Example of a static configuration:
            <networkConnector name="host1 and host2" uri="static://(tcp://host1:61616,tcp://host2:61616)"/>
            -->
        </networkConnectors>

  
       <persistenceAdapter>
  <jdbcPersistenceAdapter dataSource="#mysql-ds"/>
    </persistenceAdapter>
   

        <!-- Use the following if you wish to configure the journal with JDBC -->
        <!--
        <persistenceAdapter>
            <journaledJDBC dataDirectory="${activemq.base}/data" dataSource="#postgres-ds"/>
        </persistenceAdapter>
        -->

        <!-- Or if you want to use pure JDBC without a journal -->
        <!--
        <persistenceAdapter>
            <jdbcPersistenceAdapter dataSource="#postgres-ds"/>
        </persistenceAdapter>
        要把原来默认配置的注释掉-->

        <sslContext>
            <sslContext keyStore="file:${activemq.base}/conf/broker.ks" keyStorePassword="password" trustStore="file:${activemq.base}/conf/broker.ts" trustStorePassword="password"/>
        </sslContext>
       
        <!--  The maximum about of space the broker will use before slowing down producers -->
        <systemUsage>
            <systemUsage>
                <memoryUsage>
                    <memoryUsage limit="20 mb"/>
                </memoryUsage>
                <storeUsage>
                    <storeUsage limit="1 gb" name="foo"/>
                </storeUsage>
                <tempUsage>
                    <tempUsage limit="100 mb"/>
                </tempUsage>
            </systemUsage>
        </systemUsage>


        <!-- The transport connectors ActiveMQ will listen to -->
        <transportConnectors>
            <transportConnector name="openwire" uri="tcp://localhost:61616" discoveryUri="multicast://default"/>
            <transportConnector name="ssl" uri="ssl://localhost:61617"/>
            <transportConnector name="stomp" uri="stomp://localhost:61613"/>
            <transportConnector name="xmpp" uri="xmpp://localhost:61222"/>
        </transportConnectors>

    </broker>
 
  <bean id="mysql-ds" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
       <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
       <property name="url" value="jdbc:mysql://localhost/activemq?relaxAutoCommit=true"/>
       <property name="username" value="root"/>
       <property name="password" value="root"/>
       <property name="poolPreparedStatements" value="true"/>
    </bean>
      
    <!--
    ** Lets deploy some Enterprise Integration Patterns inside the ActiveMQ Message Broker
    ** For more details see
    **
    ** http://activemq.apache.org/enterprise-integration-patterns.html
    -->
    <camelContext id="camel" xmlns="http://activemq.apache.org/camel/schema/spring">

        <!-- You can use a <package> element for each root package to search for Java routes -->
        <package>org.foo.bar</package>

        <!-- You can use Spring XML syntax to define the routes here using the <route> element -->
        <route>
            <from uri="activemq:example.A"/>
            <to uri="activemq:example.B"/>
        </route>
    </camelContext>

    <!--
    ** Lets configure some Camel endpoints
    **
    ** http://activemq.apache.org/camel/components.html
    -->

    <!-- configure the camel activemq component to use the current broker -->
    <bean id="activemq" class="org.apache.activemq.camel.component.ActiveMQComponent" >
        <property name="connectionFactory">
          <bean class="org.apache.activemq.ActiveMQConnectionFactory">
            <property name="brokerURL" value="vm://localhost?create=false&amp;waitForStart=10000" />
            <property name="userName" value="${activemq.username}"/>
            <property name="password" value="${activemq.password}"/>
          </bean>
        </property>
    </bean>

 

    <!-- Uncomment to create a command agent to respond to message based admin commands on the ActiveMQ.Agent topic -->
    <!--
    <commandAgent xmlns="http://activemq.apache.org/schema/core" brokerUrl="vm://localhost" username="${activemq.username}" password="${activemq.password}"/>
    -->


    <!-- 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"/>
            <webAppContext contextPath="/fileserver" resourceBase="${activemq.base}/webapps/fileserver" logUrlOnStart="true"/>
        </handlers>
    </jetty>

    <!--  This xbean configuration file supports all the standard spring xml configuration options -->

    <!-- Postgres DataSource Sample Setup -->
    <!--
    <bean id="postgres-ds" class="org.postgresql.ds.PGPoolingDataSource">
      <property name="serverName" value="localhost"/>
      <property name="databaseName" value="activemq"/>
      <property name="portNumber" value="0"/>
      <property name="user" value="activemq"/>
      <property name="password" value="activemq"/>
      <property name="dataSourceName" value="postgres"/>
      <property name="initialConnections" value="1"/>
      <property name="maxConnections" value="10"/>
    </bean>
    -->

    <!-- MySql DataSource Sample Setup -->
    <!--
    <bean id="mysql-ds" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
      <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
      <property name="url" value="jdbc:mysql://localhost/activemq?relaxAutoCommit=true"/>
      <property name="username" value="activemq"/>
      <property name="password" value="activemq"/>
      <property name="maxActive" value="200"/>
      <property name="poolPreparedStatements" value="true"/>
    </bean>
    -->

    <!-- Oracle DataSource Sample Setup -->
    <!--
    <bean id="oracle-ds" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
      <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/>
      <property name="url" value="jdbc:oracle:thin:@localhost:1521:AMQDB"/>
      <property name="username" value="scott"/>
      <property name="password" value="tiger"/>
      <property name="maxActive" value="200"/>
      <property name="poolPreparedStatements" value="true"/>
    </bean>
    -->

    <!-- Embedded Derby DataSource Sample Setup -->
    <!--
    <bean id="derby-ds" class="org.apache.derby.jdbc.EmbeddedDataSource">
      <property name="databaseName" value="derbydb"/>
      <property name="createDatabase" value="create"/>
    </bean>
    -->

</beans>
<!-- END SNIPPET: example -->

分享到:
评论

相关推荐

    activemq-5.15.15 JDBC持久化mysql8.0+的activemq.xml.pdf

    总结来说,这个配置文件展示了如何配置ActiveMQ 5.15.15使用JDBC和MySQL 8.0+进行消息持久化,以及解决XML中特殊字符转义的问题,以确保ActiveMQ能够正确地连接并使用MySQL数据库存储和检索消息。这种配置适用于需要...

    ActiveMQ的activemq.xml详细配置讲解

    对于与数据库的集成,如`activemq数据库,验证持久化标准配置.txt`所示,ActiveMQ支持使用JDBC进行持久化,确保在故障恢复时数据的完整性。 总之,`activemq.xml`配置文件是管理ActiveMQ核心行为的核心,通过细致地...

    ActiveMQ消息服务器 v5.17.6.zip

    此外,还支持JDBC和JPA等数据库持久化,增强系统的可靠性。 3. **高可用性**:通过集群和复制策略,ActiveMQ可以实现故障转移和负载均衡,保证服务的连续性。 4. **消息优先级与时间戳**:消息可以根据优先级进行...

    apache-activemq-5.16.6-bin.zip

    3. **持久化(Persistence)**: ActiveMQ支持消息持久化,即使服务器重启,也不会丢失未处理的消息。 4. **网络连接(Network of Brokers)**: 多个ActiveMQ实例可以通过网络连接形成集群,实现消息的负载均衡和...

    apache-activemq-5.16.5

    1. **消息持久化**:ActiveMQ支持将消息存储在磁盘上,即使在服务器重启后也能保证消息的完整性,这是基于JMS规范中的持久化队列和主题实现的。 2. **多种协议支持**:除了JMS,ActiveMQ还支持STOMP、AMQP、MQTT等...

    ActiveMQ 配置文件详解

    KahaDB是默认的持久化存储,配置在`&lt;dataDirectory&gt;`标签内: ```xml &lt;broker useJmx="true" xmlns="http://activemq.apache.org/schema/core"&gt; &lt;dataDirectory&gt;/var/lib/activemq/data ... ``` ### 3. 策略...

    apache-activemq-5.17.3

    2. **conf**:配置文件目录,其中的`activemq.xml`是最核心的配置文件,定义了ActiveMQ服务器的行为,如连接器、代理策略、持久化机制等。 3. **data**:这是ActiveMQ运行时存储数据的目录,包括消息存储、临时文件...

    ActiveMQ消息服务器 v6.0.1.zip

    同时,它提供多种持久化机制,如文件系统、数据库存储,确保即使在服务中断后也能恢复消息。 5. 安全性:ActiveMQ内置了用户认证和授权机制,可以通过SSL/TLS加密传输,保障数据的安全性。 二、ActiveMQ应用场景 1....

    apache-activemq-5.15.11-bin.tar.gz

    - **持久化支持**:ActiveMQ可将消息持久化到硬盘,防止消息丢失。 - **多种协议支持**:除了JMS,还支持STOMP、AMQP、OpenWire等多种消息协议,便于与其他系统集成。 - **管理工具**:提供Web控制台,方便监控和...

    apache-activemq-5.15.12-bin.zip

    3. 消息持久化:ActiveMQ支持消息持久化,即使服务器重启,未被消费的消息也不会丢失。 4. 消息过滤:通过使用Message Selectors,可以在消息到达消费者之前进行过滤。 五、监控和管理 1. 日志查看:ActiveMQ的日志...

    ActiveMQ配置Mysql8为持久化方式所需Jar包.rar

    - 然后,在ActiveMQ的配置文件(通常是`conf/activemq.xml`)中,你需要更新`&lt;persistenceAdapter&gt;`元素,选择JDBC持久化适配器。 3. **JDBC持久化配置**: - 在`&lt;persistenceAdapter&gt;`下添加`...

    activeMQ mysql 持久化

    标题中的“ActiveMQ MySQL 持久化”指的是在使用ActiveMQ消息中间件时,将消息数据存储到MySQL数据库中以实现数据的持久化。ActiveMQ是Apache软件基金会的一个开源项目,它是一个功能丰富的消息代理,支持多种消息...

    apache-activemq-5.15.8-bin.tar.gz

    4. **data** 目录(可能需要用户手动创建):默认情况下,ActiveMQ会将消息存储在这个目录下,包括日志、持久化消息和临时数据。你可以根据需求配置`activemq.xml`来更改数据存储位置。 5. **docs** 目录:包含...

    apache-activemq-5.14.3-bin.zip

    6. `data`目录(可能需要用户手动创建):用于存储消息数据和持久化信息,如KahaDB存储或文件系统存储。 7. `examples`目录:包含了一些示例代码,展示如何使用ActiveMQ进行消息传递,对于初学者非常有帮助。 在...

    ActiveMQ知识点汇总.pdf

    5. **冗余存储**:消息队列中的消息可以持久化存储,确保在系统故障时不会丢失重要信息。 ActiveMQ的主要特点包括: - **异步通信**:发送方发送消息后立即返回,接收方按需消费,两者之间无需直接交互。 - **解...

    activemq持久化jdbc所需jar包.zip

    1. 配置ActiveMQ:在`activemq.xml`配置文件中设置持久化策略为JDBC,指定数据源。 2. 添加JDBC驱动:确保服务器类路径包含对应数据库的JDBC驱动jar,使得ActiveMQ能与数据库通信。 3. 数据库准备:创建必要的表结构...

    apache-activemq-5.18.1-bin.tar.gz

    2. **conf目录**:配置文件存放处,其中最重要的是`activemq.xml`,它是ActiveMQ的主要配置文件,定义了服务器的行为、连接器、网络连接、持久化策略等。 3. **lib目录**:包含运行ActiveMQ所需的库文件,包括JMS...

    activeMQ入门到精通.txt

    - **持久化设置**:为了保证消息的持久性,可以在配置文件中启用KahsDB或LevelDB等持久化存储方案。 ### 核心功能与特性 #### 消息模型 - **点对点(P2P)**:在这种模式下,消息发送者发送消息到一个队列,消息...

    apache-activemq-5.12.0-bin.tar.gz

    4. **持久化**:即使在系统崩溃或重启后,ActiveMQ也能保证消息的持久性,不丢失任何重要数据。 5. **多种协议支持**:除了JMS,ActiveMQ还支持STOMP、AMQP、MQTT等多种消息协议,以适应不同环境和应用需求。 6. **...

    apache-activemq-5.13.2-bin.tar.gz

    对于生产环境,你可能还需要关注性能监控、安全性配置、持久化策略以及高可用性设置,例如使用集群或复制来提高服务的可靠性。同时,定期备份数据和监控日志也是运维过程中不可或缺的部分。 总之,Apache ActiveMQ...

Global site tag (gtag.js) - Google Analytics