2012-05-10 50 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進行連接 –