[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配置
-
配置修改
文件:\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"
-
配置添加网站包
文件:\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
-
broker中添加
<plugins> <!-- 86,400,000ms = 1 day --> <timeStampingBrokerPlugin ttlCeiling="30000" zeroExpirationOverride="30000" /> <discardingDLQBrokerPlugin dropAll="true" dropTemporaryTopics="true" dropTemporaryQueues="true" /> </plugins>
-
broker->destinationPolicy->policyMap->policyEntries中添加
<policyEntry queue=">" gcInactiveDestinations="true" inactiveTimoutBeforeGC="30000"> <deadLetterStrategy> <sharedDeadLetterStrategy processExpired="true" expiration="30000"/> </deadLetterStrategy> </policyEntry>
mysql持久化
文件:\conf\activemq.xml
-
持久化配置修改
<persistenceAdapter> <kahaDB directory="${activemq.data}/kahadb"/> </persistenceAdapter>
改
<persistenceAdapter> <jdbcPersistenceAdapter dataSource="#my-ds"/> </persistenceAdapter>
-
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>
-
添加mysql对应的jar包。例:mysql-connector-java-5.1.47.jar
远程监控JMX设置
-
在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">
-
更改managementContext
<managementContext> <managementContext createConnector="false"/> </managementContext>
改
<managementContext> <managementContext createConnector="true" connectorPort="11099"/> </managementContext>
-
设置jmx.access文件
monitorRole readonly controlRole readwrite
添加上面两行值,表示角色及其权限
-
设置jmx.password
monitorRole dubx123 controlRole dubx123
设置角色以及密码
-
添加配置
\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"
-
jconsole访问activemq
service:jmx:rmi:///jndi/rmi://127.0.0.1:11099/jmxrmi
-
查看CurrentStatus、DurableTopicSubscribers、DynamicDestinationProducers、InactiveDurableTopicSubscribers、Topics、CurrentConnectionsCount、TotalConnectionsCount、TotalEnqueueCount、TotalDequeueCount、TotalConsumerCount
8.数据库锁
<jdbcpersistenceadapter datadirectory="activemq-data" datasource="#mysql-ds" transactionisolation="4" usedatabaselock="false"></jdbcpersistenceadapter>
网友评论