3

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

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=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
4

2 回答 2

1

至于 JBoss 6.0.0

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

作品。如果您替换localhost为您的主机地址,它也可以正常工作。

请注意,我使用 JBoss 启动了

run.sh -c 随便 --host=0.0.0.0

以便 JBoss 绑定到所有接口/地址(而不仅仅是 localhost):

--host=host_or_ip ... 绑定所有 JBoss 服务的地址

于 2013-08-05T19:05:04.077 回答
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())
于 2015-07-24T22:20:16.303 回答