簡體   English   中英

JBoss HornetQ JMX訪問

[英]JBoss HornetQ JMX access

我們在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://本地主機: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綁定到所有接口/地址(而不是僅限localhost):

--host = host_or_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())

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM