ActiveMQ连接JMX固定RMI的问题

ActiveMQ连接JMX固定RMI的问题

​ 关于ActiveMQ的监控,可以通过JMX。JMX的相关配置,首先要在ActiveMQ里面把broker标签里的useJmx=”true”打开,然后对JMX进行端口进行配置,可以在activemq.xml里的managementContext进行配置,也可以在bin里的env里进行配置。我们是在env里进行配置的。相关配置:

ACTIVEMQ_SUNJMX_START="$ACTIVEMQ_SUNJMX_START -Dcom.sun.management.jmxremote.port=11XXX "
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"
ACTIVEMQ_SUNJMX_START="$ACTIVEMQ_SUNJMX_START -Dcom.sun.management.jmxremote=true"
ACTIVEMQ_SUNJMX_START="$ACTIVEMQ_SUNJMX_START -Dcom.sun.management.jmxremote.authenticate=true"

​ 这样amq运行起来后,可以通过工具例如jconsole链接jmx查看mq相关信息,远程进程里填service:jmx:rmi:///jndi/rmi://IP:11XXX/jmxrmi 。但是这样默认RMI端口是随机的,而我们防火墙不可能把所有端口都开放,所以需要固定RMI端口。网上很多是用managementContext里配置进行固定的,这里说个在env里配置固定,在之前的配置中添上

ACTIVEMQ_SUNJMX_START="$ACTIVEMQ_SUNJMX_START -Dcom.sun.management.jmxremote.rmi.port="10XXX"

这样重启后,远程进程改为

service:jmx:rmi://IP:10XXX/jndi/rmi://IP:11XXX/jmxrmi 便可以固定的RMI连接。

你可能感兴趣的:(ActiveMQ,ActiveMQ)