2013-08-05 60 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())