美文网首页
ActiveMQ配置

ActiveMQ配置

作者: dubingxin | 来源:发表于2019-07-09 20:38 被阅读0次

[TOC]

ActiveMQ配置

java环境配置

文件:\bin\win64\wrapper.conf

wrapper.java.command=java

wrapper.java.command=C:\Program Files\Java\jdk1.8.0_191\bin\java

日志配置最大值

文件:\bin\win64\wrapper.conf

wrapper.logfile.maxsize=0
wrapper.logfile.maxfiles=0

wrapper.logfile.maxsize=1m
wrapper.logfile.maxfiles=10

hawtio配置

  1. 配置修改

    文件:\bin\activemq.bat

    if "%ACTIVEMQ_OPTS%" == "" set ACTIVEMQ_OPTS=-Xms1G -Xmx1G -Djava.util.logging.config.file=logging.properties -Djava.security.auth.login.config="%ACTIVEMQ_CONF%\login.config"
    

    if "%ACTIVEMQ_OPTS%" == "" set ACTIVEMQ_OPTS=-Xms2G -Xmx2G -Dhawtio.realm=activemq -Dhawtio.role=admins -Dhawtio.rolePrincipalClasses=org.apache.activemq.jaas.GroupPrincipal -Djava.util.logging.config.file=logging.properties -Djava.security.auth.login.config="%ACTIVEMQ_CONF%\login.config" 
    
  1. 配置添加网站包

    文件:\conf\jetty.xml

    <bean class="org.eclipse.jetty.webapp.WebAppContext">
                     <property name="contextPath" value="/api" />
                     <property name="resourceBase" value="${activemq.home}/webapps/api" />
                     <property name="logUrlOnStart" value="true" />
                 </bean>
    

    之后添加

    <bean class="org.eclipse.jetty.webapp.WebAppContext">        
                         <property name="contextPath" value="/hawtio" />        
                         <property name="war" value="${activemq.home}/webapps/hawtio" />        
                         <property name="logUrlOnStart" value="true" />  
                 </bean>
    

死信

文件:\conf\activemq.xml

  1. broker中添加

    <plugins>
               <!-- 86,400,000ms = 1 day -->
               <timeStampingBrokerPlugin ttlCeiling="30000" zeroExpirationOverride="30000" />
               <discardingDLQBrokerPlugin dropAll="true"  dropTemporaryTopics="true" dropTemporaryQueues="true" />
            </plugins>
    
  1. broker->destinationPolicy->policyMap->policyEntries中添加

    <policyEntry queue=">" gcInactiveDestinations="true" inactiveTimoutBeforeGC="30000">
                      <deadLetterStrategy>
                        <sharedDeadLetterStrategy processExpired="true"  expiration="30000"/>
                      </deadLetterStrategy>
                    </policyEntry>
    

mysql持久化

文件:\conf\activemq.xml

  1. 持久化配置修改

     <persistenceAdapter>
                <kahaDB directory="${activemq.data}/kahadb"/>
            </persistenceAdapter>
    

     <persistenceAdapter>
                <jdbcPersistenceAdapter dataSource="#my-ds"/>
            </persistenceAdapter>
    
  1. broker之后添加bean

      <bean id="my-ds" class="org.apache.commons.dbcp2.BasicDataSource" destroy-method="close">
                    <property name="driverClassName" value="com.mysql.jdbc.Driver" />
                    <property name="url" value="jdbc:mysql://localhost/activemq?characterEncoding=latin1" />
                    <property name="username" value="activemq" />
                    <property name="password" value="password" />
                    <property name="initialSize" value="5" />
                    <property name="maxTotal" value="1000" />
                    <property name="maxIdle" value="30" />
                    <property name="maxWaitMillis" value="10000" />
                    <property name="minIdle" value="1" />
        </bean>
    
  2. 添加mysql对应的jar包。例:mysql-connector-java-5.1.47.jar

远程监控JMX设置

  1. 在broker节点增加useJmx=”true”

    文件:\conf\activemq.xml

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

    <broker xmlns="http://activemq.apache.org/schema/core" brokerName="localhost" dataDirectory="${activemq.data}" useJmx="true">
    
  1. 更改managementContext

    <managementContext>
                <managementContext createConnector="false"/>
            </managementContext>
    

    <managementContext>
                <managementContext createConnector="true" connectorPort="11099"/>
            </managementContext>
    
  1. 设置jmx.access文件

    monitorRole readonly
    controlRole readwrite
    

    添加上面两行值,表示角色及其权限

  2. 设置jmx.password

    monitorRole dubx123
    controlRole dubx123
    

    设置角色以及密码

  3. 添加配置

    \bin\activemq.bat添加

    ACTIVEMQ_SUNJMX_START="-Dcom.sun.management.jmxremote.port=11099 "  
    ACTIVEMQ_SUNJMX_START="$ACTIVEMQ_SUNJMX_START -Dcom.sun.management.jmxremote.password.file=${ACTIVEMQ_CONF}/jmx.password"  
    ACTIVEMQ_SUNJMX_START="$ACTIVEMQ_SUNJMX_START -Dcom.sun.management.jmxremote.access.file=${ACTIVEMQ_CONF}/jmx.access"  
    ACTIVEMQ_SUNJMX_START="$ACTIVEMQ_SUNJMX_START -Dcom.sun.management.jmxremote.ssl=false"  
    
  1. jconsole访问activemq

    service:jmx:rmi:///jndi/rmi://127.0.0.1:11099/jmxrmi
    
  2. 查看CurrentStatus、DurableTopicSubscribers、DynamicDestinationProducers、InactiveDurableTopicSubscribers、Topics、CurrentConnectionsCount、TotalConnectionsCount、TotalEnqueueCount、TotalDequeueCount、TotalConsumerCount

8.数据库锁

<jdbcpersistenceadapter datadirectory="activemq-data" datasource="#mysql-ds" transactionisolation="4" usedatabaselock="false"></jdbcpersistenceadapter>

相关文章

网友评论

      本文标题:ActiveMQ配置

      本文链接:https://www.haomeiwen.com/subject/ocofkctx.html