在使用Jmx獲取ActiveMQ信息時(shí),訪問遠(yuǎn)程Linux開發(fā)機(jī)器上的Jmx才避,代碼片段:
RemoteJMXBrokerFacade createConnector = new RemoteJMXBrokerFacade();
System.setProperty("webconsole.jmx.url","service:jmx:rmi://jndi/rmi://10.17.2.216:1099/jmxrmi");
System.setProperty("webconsole.jmx.user","admin");
System.setProperty("webconsole.jmx.password","activemq");
SystemPropertiesConfiguration configuration = new SystemPropertiesConfiguration();
createConnector.setConfiguration(configuration);
BrokerViewMBean brokerAdmin = createConnector.getBrokerAdmin();
報(bào)異常:
java.rmi.ConnectException: Connection refused to host: 127.0.0.1; nested
這個(gè)127.0.0.1非常奇怪残黑,后來查清是遠(yuǎn)程JMX啟動(dòng)時(shí)參數(shù)錯(cuò)誤導(dǎo)致同仆。
解決方法:
在activemq啟動(dòng)腳本中編輯玩裙,找到 $ ACTIVEQM_SUNJMX_START姊舵,在后面加 -Djava.rmi.server.hostname= <ip>
例如我的是-Djava.rmi.server.hostname=10.17.2.216
重啟ActiveMQ盐类,可正常連接寞奸。