我正在尝试在同一网络上但在 2 个不同的虚拟机上运行具有 2 个代理的代理网络。
由于一些内部限制,我必须使用自定义 jmx 端口。我正在使用 Tanuki 包装器在 Ubuntu 服务器上启动 ActiveMQ。
这是我的 activemq.xml 的相关部分
<broker xmlns="http://activemq.apache.org/schema/core" advisorySupport="false" useJmx="true" brokerName="test1" dataDirectory=".../data/activemq">
<networkConnectors>
<networkConnector uri="multicast://1.2.3.4:101234?group=test"
dynamicOnly="true"
networkTTL="3"
prefetchSize="1"
decreaseNetworkConsumerPriority="true"
userName="user"
password="password"/>
</networkConnectors>
<transportConnectors>
<transportConnector name="openwire" uri="tcp://0.0.0.0:61616" rebalanceClusterClients="true" updateClusterClients="true" />
<transportConnector name="nio" uri="nio://0.0.0.0:61617" rebalanceClusterClients="true" updateClusterClients="true" discoveryUri="multicast://1.2.3.4:101234?group=test" />
</transportConnectors>
...
<managementContext>
<managementContext createConnector="false"/>
</managementContext>
...
</broker>
这是 wrapper.conf 的相关部分:
# Uncomment to enable jmx
wrapper.java.additional.1=-Dcom.sun.management.jmxremote
wrapper.java.additional.2=-Dcom.sun.management.jmxremote.port=4321
wrapper.java.additional.3=-Dcom.sun.management.jmxremote.authenticate=false
wrapper.java.additional.4=-Dcom.sun.management.jmxremote.ssl=false
在两个代理上运行 ActiveMQ 时,我看到了带有预期选项的进程:
活跃MQ 30682 30680 3 13:27?00:00:30 java -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=4321 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djavax.net.ssl.keyStore=../../conf/broker.ks -Djavax.net.ssl.trustStore=../../conf/broker.ts -Dcom.sun.management.jmxremote -Dorg .apache.activemq.UseDedicatedTaskRunner=true -Djava.util.logging.config.file=logging.properties -Dactivemq.conf=../../conf -Dactivemq.data=../../data -Xms2048m -Xmx2048m -Djava.library.path=../../bin/linux-x86-64/ -classpath ../../bin/wrapper.jar:../../bin/activemq.jar -Dwrapper.key =y4TuwO32Hj6kN7w8 -Dwrapper.port=32000 -Dwrapper.jvm.port.min=31000 -Dwrapper.jvm.port.max=31999 -Dwrapper.pid=30680 -Dwrapper.version=3.2.3 -Dwrapper.native_library=wrapper -Dwrapper .service=TRUE -Dwrapper.cpu。
港口在运行的岸墙上开放。
代理网络已启动,但我无法使用带有 server_dns:4321 的 jvisualvm 连接到 jmx。它返回错误“无法使用服务连接到 server_dns:4321:jmx:rmi:///jndi/rmi://server_dns:4321/jmxrmi
我可以通过 tcpdump 在端口上看到一些流量。
谁能告诉我我做错了什么或者我应该如何使用 ActiveMQ 作为具有自定义 jmx 端口的代理网络?