zoukankan      html  css  js  c++  java
  • CentOS 6下ActiveMQ 5.5安装及使用MySQL

    http://activemq.apache.org/download.html下载ActiveMQ的最新版本,当前是5.50,把包apache-activemq-5.5.0-bin .tar.gz拷贝到/home/software/apache-activemq目录下,执行以下命令:

    # cd /home/software/apache-activemq

    # tar zxvf  apache-activemq-5.5.0-bin .tar.gz

    # cp -a  apache-activemq-5.5.0 /usr/local/activemq

    # cd  /usr/local/activemq

    我使用mysql作为消息的存储,修改 /usr/local/activemq/conf/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">
        <!-- 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>
    <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="devterry"/>
    <property name="maxActive" value="200"/>
       </bean>
        <!-- 
            The <broker> element is used to configure the ActiveMQ broker. 
        -->
        <broker xmlns="http://activemq.apache.org/schema/core" brokerName="localhost" dataDirectory="${activemq.base}/data" destroyApplicationContextOnStop="true">
     
            <!--
    For better performances use VM cursor and small memory limit.
    For more information, see:
                
                http://activemq.apache.org/message-cursors.html
                
                Also, if your producer is "hanging", it's probably due to producer flow control.
                For more information, see:
                http://activemq.apache.org/producer-flow-control.html
            -->
                  
            <destinationPolicy>
                <policyMap>
                  <policyEntries>
                    <policyEntry topic=">" producerFlowControl="true" memoryLimit="1mb">
                      <pendingSubscriberPolicy>
                        <vmCursor />
                      </pendingSubscriberPolicy>
                    </policyEntry>
                    <policyEntry queue=">" producerFlowControl="true" memoryLimit="1mb">
                      <!-- Use VM cursor for better latency
                           For more information, see:
                           
                           http://activemq.apache.org/message-cursors.html
                           
                      <pendingQueuePolicy>
                        <vmQueueCursor/>
                      </pendingQueuePolicy>
                      -->
                    </policyEntry>
                  </policyEntries>
                </policyMap>
            </destinationPolicy> 
     
            
            <!-- 
                The managementContext is used to configure how ActiveMQ is exposed in 
                JMX. By default, ActiveMQ uses the MBean server that is started by 
                the JVM. For more information, see: 
                
                http://activemq.apache.org/jmx.html 
            -->
            <managementContext>
                <managementContext createConnector="false"/>
            </managementContext>
            <!-- 
                Configure message persistence for the broker. The default persistence
                mechanism is the KahaDB store (identified by the kahaDB tag). 
                For more information, see: 
                
                http://activemq.apache.org/persistence.html 
            -->
            <!-- <persistenceAdapter>
                <kahaDB directory="${activemq.base}/data/kahadb"/>
            </persistenceAdapter> -->
            <persistenceAdapter>
                <jdbcPersistenceAdapter dataSource="#mysql-ds"/>
            </persistenceAdapter>
            
              <!--
                The systemUsage controls the maximum amount of space the broker will 
                use before slowing down producers. For more information, see:
                
                http://activemq.apache.org/producer-flow-control.html
                 
            <systemUsage>
                <systemUsage>
                    <memoryUsage>
                        <memoryUsage limit="20 mb"/>
                    </memoryUsage>
                    <storeUsage>
                        <storeUsage limit="1 gb"/>
                    </storeUsage>
                    <tempUsage>
                        <tempUsage limit="100 mb"/>
                    </tempUsage>
                </systemUsage>
            </systemUsage>
    -->
     
            <!-- 
                The transport connectors expose ActiveMQ over a given protocol to
                clients and other brokers. For more information, see: 
                
                http://activemq.apache.org/configuring-transports.html 
            -->
            <transportConnectors>
                <transportConnector name="openwire" uri="tcp://0.0.0.0:61616"/>
            </transportConnectors>
        </broker>
        <!-- 
            Enable web consoles, REST and Ajax APIs and demos
            It also includes Camel (with its web console), see ${ACTIVEMQ_HOME}/conf/camel.xml for more info
            
            Take a look at ${ACTIVEMQ_HOME}/conf/jetty.xml for more details 
        -->
        <import resource="jetty.xml"/>
        
    </beans>
    <!-- END SNIPPET: example -->
     

    在启动前,需要创建数据库 activemq,并且不要参照activemq-jdbc.xml配置 <property name="poolPreparedStatements" value="true"/>。

    # bin/activemq start

    从浏览器中打开:,发给消息测试一下,可以正常发送的话,就应该没有什么大问题。 

  • 相关阅读:
    AutoCAD 2013 .net插件创建向导现在支持Map 3D,Civil 3D,AutoCAD Architecture 和AutoCAD MEP
    AutoCAD® Civil 3D API需求意愿调查
    Linux 下动态库和静态库的创建和调用
    几个典型的内存拷贝及字符串函数实现
    典型的几个链表操作-逆序和重排
    打印 N*N 螺旋矩阵
    PhoneGap开发初体验:用HTML5技术开发本地应用
    不申请变量和空间反转字符串
    寻找最大公共子字符串
    二维动态数组定义及二维静态数组与**P的区别
  • 原文地址:https://www.cnblogs.com/TerryLiang/p/2178501.html
Copyright © 2011-2022 走看看