Java學(xué)習(xí)

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

           

          用JDK5.0的jconsole來(lái)連接MBbean

          前面所有看效果都是通過(guò)Html網(wǎng)頁(yè)來(lái)看的。JDK5.0自帶了一個(gè)jmx客戶端,叫jconsole,位于c:\jdk\bin\jconsole.exe。我們來(lái)用用這個(gè)客戶端來(lái)連接Mbean Server。

          一、vm參數(shù)方式

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

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

          3、運(yùn)行HelloAgent,然后在Dos窗口輸入“jconsole”來(lái)啟到JConsole
          4、單擊“連接”

          二、RMI方式

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

          1、還是用第一篇的HelloAgent,加上一段代碼,啟動(dòng)一個(gè)JMXConnectorServer服務(wù)

          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運(yùn)行一個(gè)命令:rmiregistry 9999
           
          3、運(yùn)行HelloAgent,然后再在dos下運(yùn)行命令jconsole
          輸入service:jmx:rmi:///jndi/rmi://localhost:9999/server

          三、總結(jié)
          連接MBeanServer的方式除了Html、JConsole,還有一些第三方的客戶端,比較有名的是MC4j,通過(guò)這些客戶端我們可以很容易去訪問(wèn)MBean。這也就是我們?yōu)槭裁匆?span id="wmqeeuq" class="hilite2">JMX的其中一個(gè)原因:試想如果我自己搞一套標(biāo)準(zhǔn),勢(shì)必要自己開(kāi)發(fā)一個(gè)客戶端,那會(huì)是一個(gè)不小的工作量。

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


          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           

          導(dǎo)航

          統(tǒng)計(jì)

          公告

          本blog已經(jīng)搬到新家了, 新家:www.javaly.cn
           http://www.javaly.cn

          常用鏈接

          留言簿(6)

          隨筆檔案

          文章檔案

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 苍梧县| 乐山市| 信宜市| 苏尼特右旗| 青田县| 昌图县| 静宁县| 偃师市| 临泽县| 伊吾县| 金坛市| 渝中区| 贺兰县| 山西省| 尤溪县| 武鸣县| 永善县| 固阳县| 农安县| 五峰| 子洲县| 都匀市| 沂南县| 齐齐哈尔市| 彩票| 开江县| 夏津县| 肃宁县| 宜良县| 孝义市| 高青县| 札达县| 洛阳市| 措勤县| 寿阳县| 内丘县| 梁山县| 肥东县| 寻乌县| 武汉市| 宁乡县|