2012-05-10 48 views
1

我可以通过jconsole连接glassfish 3.1 JMX接口。 我想知道如何检查指定群集中每个实例的正常运行时间。 我可以通过JMX学习自己的状态和ip具有以下ObjectName和操作对Glassfish JMX接口

AMX:PP = /域/服务器,类型=服务器,名称= instanceMaster-> isRunning() AMX:PP = /域/服务器,类型=服务器,名称= instanceMaster-> getAdminHost()

每个实例的正常运行时间值可以通过restfull接口捕获。 http://47.168.96.31:4848/management/domain/clusters/cluster/cluster1/list-instances

感谢插件提前

回答

0

您可以通过询问RuntimeMXBean确定JVM的正常运行时间。它公开了一个名为Uptime的属性,它是自JVM启动以来的毫秒数。 RuntimeMXBean的ObjectName是常量java.lang.management.ManagementFactory.RUNTIME_MXBEAN_NAME.

+0

感谢您的答案尼古拉斯,但为此需要建立另外的连接,除了建立了JMX。除了pid应该以这种方式而闻名,这会使系统变得脆弱。 –

+0

也许我误解了你的问题。你不能从现有的jmx连接请求正常运行时间吗? – Nicholas

+0

我无法通过JMX请求请求实例的正常运行时间。其实我找不到这个目标的ObjectName。正如我在问题中所说的,我可以通过restfull界面实现。互动点是,据我所知,宁静的界面使用jmx。所以我能够通过jmx以某种方式达到这个值。 –

1

Mmc18使用JMX无法连接到集群节点的原因是因为3.1.2中存在一个可阻止通过JMX远程访问实例的bug。 http://java.net/jira/browse/GLASSFISH-18450这个错误已被修复,但只在glassfish 4,但是,有人在那里移植的修复3.1.2

+0

谢谢。我将尝试通过glassfish 4.0中的JMX进行连接 –