私は使用し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>
起動スクリプト内で、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
また、ポートがリッスンしているかどうかを確認すると、結果がリッスン ポートになります。
[me@server ~]$ 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 は私の PC (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へのトンネルを作成し、10.0.0.100ではなくlocalhostに接続して、ファイアウォールが問題にならないことを確認しました。しかし、すべて失敗します。
私は何かを忘れていますか?