Java學習

          java,spring,structs,hibernate,jsf,ireport,jfreechart,jasperreport,tomcat,jboss -----本博客已經搬家了,新的地址是 http://www.javaly.cn 如果有對文章有任何疑問或者有任何不懂的地方,歡迎到www.javaly.cn (Java樂園)指出,我會盡力幫助解決。一起進步

           

          用JDK5.0的jconsole來連接MBbean

          前面所有看效果都是通過Html網頁來看的。JDK5.0自帶了一個jmx客戶端,叫jconsole,位于c:\jdk\bin\jconsole.exe。我們來用用這個客戶端來連接Mbean Server。

          一、vm參數方式

          1、還是用第一篇的那個HelloAgent,修改HelloAgent,將第一句:
          MBeanServer server = MBeanServerFactory.createMBeanServer();
          改為:MBeanServer server = ManagementFactory.getPlatformMBeanServer();
          注:ManagementFactory的全路徑為:java.lang.management.ManagementFactory

          2、修改Eclipse的run選項,把“-Dcom.sun.management.jmxremote=HelloAgent”這一句加入到run選項中

          3、運行HelloAgent,然后在Dos窗口輸入“jconsole”來啟到JConsole
          4、單擊“連接”

          二、RMI方式

          還是用jconsole,但方式變了。這里不需要象上面那樣修改Eclipse run的vm選項。

          1、還是用第一篇的HelloAgent,加上一段代碼,啟動一個JMXConnectorServer服務

          java 代碼
          1. import javax.management.MBeanServer;   
          2. import javax.management.MBeanServerFactory;   
          3. import javax.management.ObjectName;   
          4. import javax.management.remote.JMXConnectorServer;   
          5. import javax.management.remote.JMXConnectorServerFactory;   
          6. import javax.management.remote.JMXServiceURL;   
          7.   
          8. import com.sun.jdmk.comm.HtmlAdaptorServer;   
          9.   
          10. public class HelloAgent {   
          11.     public static void main(String args[]) throws Exception {   
          12.         MBeanServer server = MBeanServerFactory.createMBeanServer();   
          13.         ObjectName helloName = new ObjectName("chengang:name=HelloWorld");   
          14.         Hello hello = new Hello();   
          15.         server.registerMBean(hello, helloName);   
          16.         ObjectName adapterName = new ObjectName("HelloAgent:name=htmladapter,port=8082");   
          17.         HtmlAdaptorServer adapter = new HtmlAdaptorServer();   
          18.         server.registerMBean(adapter, adapterName);   
          19.         adapter.start();   
          20.         System.out.println("start.....");   
          21.   
          22.         // Create an RMI connector and start it   
          23.         JMXServiceURL url = new JMXServiceURL("service:jmx:rmi:///jndi/rmi://localhost:9999/server");   
          24.         JMXConnectorServer cs = JMXConnectorServerFactory.newJMXConnectorServer(url, null, server);   
          25.         cs.start();   
          26.         System.out.println("rmi start.....");   
          27.     }   
          28. }  


          2、在Dos運行一個命令:rmiregistry 9999
           
          3、運行HelloAgent,然后再在dos下運行命令jconsole
          輸入service:jmx:rmi:///jndi/rmi://localhost:9999/server

          三、總結
          連接MBeanServer的方式除了Html、JConsole,還有一些第三方的客戶端,比較有名的是MC4j,通過這些客戶端我們可以很容易去訪問MBean。這也就是我們為什么要用JMX的其中一個原因:試想如果我自己搞一套標準,勢必要自己開發一個客戶端,那會是一個不小的工作量。

          posted on 2008-07-22 16:34 找個美女做老婆 閱讀(321) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           

          導航

          統計

          公告

          本blog已經搬到新家了, 新家:www.javaly.cn
           http://www.javaly.cn

          常用鏈接

          留言簿(6)

          隨筆檔案

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 黑龙江省| 青龙| 化德县| 桐梓县| 抚州市| 宜宾市| 滕州市| 怀化市| 海原县| 滦平县| 旌德县| 黄浦区| 荆州市| 西峡县| 宁德市| 泰州市| 乌鲁木齐市| 朝阳县| 承德市| 腾冲县| 泗水县| 江源县| 松桃| 神木县| 远安县| 昌吉市| 乐陵市| 桑日县| 漳州市| 株洲市| 克什克腾旗| 准格尔旗| 布拖县| 收藏| 扎兰屯市| 南丰县| 屏南县| 霞浦县| 青阳县| 三明市| 平湖市|