2009-08-20 170 views
1

我已經通過this頁面的過程公開了Web應用程序的JMX接口。如何管理JMX Web應用程序

我已經設法查看Tomcat JMX代理的公開接口,但是當我加載JConsole並查找公開的mbean接口時,找不到與所公開的屬性和操作相關的任何內容。

對於web應用程序,jresole沒有具體條目,所以我想它可能在TOMCAT jmx條目下。不是。 (記住,我確實設法在tomcat jmx代理頁面上看到它)。

如何在本地管理我的Web應用程序?爲什麼JConsole不顯示它?

+0

哪個版本的Tomcat,以及哪個版本的Java? – skaffman 2009-08-20 14:14:06

+0

java 1.6與tomcat 6.0 – Ben 2009-08-21 17:41:49

+0

我設法做到了這一點。我正在寫一篇關於它的文章,並會盡快發佈。 – Ben 2009-09-01 12:33:32

回答

3

我已經成功做了幾個基本步驟來解決這個問題 -

  1. 在web應用上下文偵聽contextInitialized方法,我實例化一個單例類,將運行並實現MBean(該servlet本身無法實現一個mbean,因爲它只是醒來接受來自服務器的請求)。
  2. servlet通知我們要監控的每個操作的單例,單例是通過jmx實際報告的單例。
  3. 在我與此命令MBean服務器中註冊的單身:

    ManagementFactory.getPlatformMBeanServer()registerMBean(此,姓名);

那就是它。 (在堅果殼裏)

+0

當您必須部署到集羣時,您的設計如何工作(因爲您對單例有依賴關係...)? – 2010-05-13 08:23:14

+0

好的呼叫。實際上,我的同事正在努力使這個解決方案成爲一個集羣友好的解決方案我有信息時會更新。 – Ben 2010-05-16 08:10:42

相關問題