JBoss HornetQ JMX访问

JBoss HornetQ JMX访问,jboss,Jboss,我们在JBoss中运行HornetQ消息。从远程VM,我们无法使用JMXURL进行连接 HornetQ设置(hornet1 configuration.xml): true JBoss设置 -Dcom.sun.management.jmxremote-Dcom.sun.management.jmxremote.port=3000-Dcom.sun.management.jmxremote.ssl=false-Dcom.sun.management.jmxremote.authenticate=

我们在JBoss中运行HornetQ消息。从远程VM,我们无法使用JMXURL进行连接

HornetQ设置(hornet1 configuration.xml):

true
JBoss设置

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

在远程JVM中,以下URL均无效:

  • 服务:jmx:rmi:///jndi/rmi://localhost:8070/jmxrmi
  • 服务:jmx:rmi:///jndi/rmi://127.0.0.1:8007/jmxconnector
对于JBoss 6.0.0

jconsole服务:jmx:rmi://localhost/jndi/rmi://localhost:1090/jmxconnector

工作。如果您将
localhost
替换为您的主机地址,它也会起作用

注意,我开始使用JBoss时

run.sh-c whatever--host=0.0.0.0

因此JBoss绑定到所有接口/地址(而不是仅本地主机):

--主机=主机\u或\u ip。。。所有JBoss服务的绑定地址


我已将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())

它是哪个版本的JBoss?您是否尝试在本地连接?
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())