Я использую Apache ActiveMQ version 5.8.0
, и я загрузил Apache ActiveMQ Browser version 2.5.2.8
В Apache ActiveMQ я отредактировал конфигурацию activemq.xml
для использования JMX:
<broker xmlns="http://activemq.apache.org/schema/core" useJmx="true" brokerName="localhost" dataDirectory="${activemq.data}">
<!-- This needed to be set to true, otherwise JMX won't start in 5.8.0 -->
<managementContext>
<managementContext createConnector="true"/>
</managementContext>
</broker>
В запуске script я устанавливаю настройки JMX следующим образом:
#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"
ACTIVEMQ_SUNJMX_START="$ACTIVEMQ_SUNJMX_START -Dcom.sun.management.jmxremote"
Когда я перезапускаю Apache ActiveMQ, журнал показывает мне, что JMX запущен и доступен:
JMX consoles can connect to service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi | org.apache.activemq.broker.jmx.ManagementContext | JMX connector
Также проверьте, прослушивает ли порт результаты в порт прослушивания:
[[email protected] ~]$ netstat -lptun | grep 1099
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
tcp 0 0 :::1099 :::* LISTEN 16775/java
Apache ActiveMQ работает на сервере. Например, на IP 10.0.0.100. Apache ActiveMQ Browser работает на моем ПК (10.0.0.200).
Когда я пытаюсь подключиться к Apache ActiveMQ Browser, соединения продолжают сбой. Я использую следующие настройки:
JMX URL: service:jmx:rmi:///jndi/rmi://10.0.0.100:1099/jmxrmi
JMX role: admin
JMS password: activemq
В этот момент я оставил пользователя и пароль по умолчанию в jmx.password и jmx.access.
Я также пытался подключиться к шпатлевке для создания туннеля для порта 1099 на локальный порт 1099, а затем подключиться к localhost вместо 10.0.0.100, чтобы убедиться в отсутствии брандмауэра это проблема. Но все не удается.
Я что-то забыл?