0

我正在使用 Jboss EAP 6.3,我希望监视服务器是否健康,现在我遇到了一个问题:我创建了两个数据源(“ExampleDS”和“ExampleDS2”)。有人知道如何使用 jmx Mbean 获取带有列表的 jdbc 数据源名称以及 jms 名称吗?

现在我可以通过 remoteJmx 获取 serverName 和 serverState。

def getServerState():
    serviceURL = javax.management.remote.JMXServiceURL("service:jmx:remoting-jmx://localhost:9999"))
    connector = javax.management.remote.JMXConnectorFactory.connect(serviceURL, None)
    connection = connector.getMBeanServerConnection()

    service = javax.management.ObjectName("jboss.as:management-root=server")
    serverName = connection.getAttribute(service,"name")
    serverState = connection.getAttribute(service,"serverState")
4

1 回答 1

0

您可以使用jconsole(mbeans 选项卡)列出本地 java 进程中的所有 mbean。从那里您可以探索 JMX 树以找到您的 jmx 数据源和 jms 名称。

您的数据源位于:

jboss.as:subsystem=datasources,data-source=ExampleDS

JMS 是指 JMS 消息传递队列名称吗?JMX 名称将是

jboss.as:subsystem=messaging,hornetq-server=default,jms-queue=ExampleQueueName
于 2015-04-21T07:07:20.223 回答