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 找个美女做老婆 阅读(315) 评论(0)  编辑  收藏


只有注册用户登录后才能发表评论。


网站导航:
 

导航

统计

公告

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

常用链接

留言簿(6)

随笔档案

文章档案

搜索

最新评论

阅读排行榜

评论排行榜