hengheng123456789

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            297 Posts :: 68 Stories :: 144 Comments :: 0 Trackbacks
          前面所有看效果都是通過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服務

          import javax.management.MBeanServer;
          import javax.management.MBeanServerFactory;
          import javax.management.ObjectName;
          import javax.management.remote.JMXConnectorServer;
          import javax.management.remote.JMXConnectorServerFactory;
          import javax.management.remote.JMXServiceURL;

          import com.sun.jdmk.comm.HtmlAdaptorServer;

          public class HelloAgent {
          ??? public static void main(String args[]) throws Exception {
          ??????? MBeanServer server = MBeanServerFactory.createMBeanServer();
          ??????? ObjectName helloName = new ObjectName("chengang:name=HelloWorld");
          ??????? Hello hello = new Hello();
          ??????? server.registerMBean(hello, helloName);
          ??????? ObjectName adapterName = new ObjectName("HelloAgent:name=htmladapter,port=8082");
          ??????? HtmlAdaptorServer adapter = new HtmlAdaptorServer();
          ??????? server.registerMBean(adapter, adapterName);
          ??????? adapter.start();
          ??????? System.out.println("start.....");

          ??????? // Create an RMI connector and start it
          ??????? JMXServiceURL url = new JMXServiceURL("service:jmx:rmi:///jndi/rmi://localhost:9999/server");
          ??????? JMXConnectorServer cs = JMXConnectorServerFactory.newJMXConnectorServer(url, null, server);
          ??????? cs.start();
          ??????? System.out.println("rmi start.....");
          ??? }
          }

          ? 
          2、在Dos運行一個命令:rmiregistry 9999
          ?
          3、運行HelloAgent,然后再在dos下運行命令jconsole
          輸入service:jmx:rmi:///jndi/rmi://localhost:9999/server
           
          三、總結
            連接MBeanServer的方式除了Html、JConsole,還有一些第三方的客戶端,比較有名的是MC4j,通過這些客戶端我們可以很容易去訪問MBean。這也就是我們為什么要用JMX的其中一個原因:試想如果我自己搞一套標準,勢必要自己開發一個客戶端,那會是一個不小的工作量。
          posted on 2006-08-31 12:55 哼哼 閱讀(1346) 評論(0)  編輯  收藏 所屬分類: JMX
          主站蜘蛛池模板: 新丰县| 仙居县| 平邑县| 梁河县| 萨迦县| 郓城县| 江永县| 乌鲁木齐县| 枞阳县| 田东县| 潮州市| 简阳市| 海原县| 贵阳市| 安陆市| 宁乡县| 霞浦县| 河间市| 阜城县| 永宁县| 濮阳市| 方山县| 青神县| 五台县| 宜君县| 新沂市| 巴南区| 冀州市| 宣恩县| 仁布县| 铅山县| 昌宁县| 辽源市| 平邑县| 易门县| 安多县| 中江县| 荔波县| 张家界市| 咸阳市| 元谋县|