2013-08-05 59 views
3

我們在JBoss中運行HornetQ消息。從遠程VM,我們無法使用JMXURL進行連接。JBoss HornetQ JMX訪問

HornetQ的設置(hornet1 configuration.xml中):

<jmx-management-enabled>true</jmx-management-enabled> 

的JBoss設置

-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port = 3000 -Dcom .sun.management.jmxremote.ssl =假-Dcom.sun.management.jmxremote.authenticate =假

從遠程無這些網址的JVM運行:

  • 服務:JMX:RMI:/// JNDI/RMI://本地主機:8070/jmxrmi
  • 服務:JMX:RMI:/// JNDI/RMI://127.0.0.1:8007 /的JMXConnector
+0

是哪個版本的JBoss? – Beryllium

+0

你嘗試連接本地? – eis

回答

1

至於JBoss的6.0.0

JConsole的服務:JMX:RMI://本地主機/ JNDI/RMI://本地主機:1090/JMXConnector的

作品。如果您將localhost替換爲您的主機地址,它也可以工作。

請注意,我用

開始的JBoss run.sh -c任何主機= 0.0.0.0

使JBoss的結合所有接口地址(中/而不是本地主機只):

主機= host_or_ip ...綁定地址,所有的JBoss服務

0

我已經改變了run.sh到:

export JMX_ARGS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=3000 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false" 
java $JVM_ARGS -classpath $CLASSPATH $JMX_ARGS org.hornetq.integration.bootstrap.HornetQBootstrapServer $FILENAME 

那麼當HornetQ的開始,你應該在日誌中看到這一點:

15:15:22,312 CONFIG [sun.management.jmxremote] JMX Connector ready at: service:jmx:rmi:///jndi/rmi://localhost:3000/jmxrmi 

在客戶端,你應該能夠連接到帶有這個的服務器:

val url = new JMXServiceURL("service:jmx:rmi:///jndi/rmi://localhost:3000/jmxrmi") 
val connection = JMXConnectorFactory.connect(url, new java.util.HashMap()) 
def mbeanServer = connection.getMBeanServerConnection() 
val objectName = new ObjectName("org.hornetq:module=Core,type=Server") 
val serverInfo = mbeanServer.getMBeanInfo(objectName) 
println(serverInfo.getDescription())