[JMX一步步来] 7、用JDK5.0的JConsole来连接MBean

简介:
前面所有看效果都是通过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选项中,修改如下图:
1135579391260_7463.gif
 
3、运行HelloAgent,然后在Dos窗口输入“jconsole”来启到JConsole,得到如下界面。 1135579573812_8685.gif 
4、单击“连接”,进入以下界面:
1135579720638_3644.gif
 
二、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
  1135580892339_8412.gif
三、总结
  连接MBeanServer的方式除了Html、JConsole,还有一些第三方的客户端,比较有名的是MC4j,通过这些客户端我们可以很容易去访问MBean。这也就是我们为什么要用JMX的其中一个原因:试想如果我自己搞一套标准,势必要自己开发一个客户端,那会是一个不小的工作量。

作者简介

陈刚,广西桂林人,著作有《Eclipse从入门到精通》
您可以通过其博客了解更多信息和文章:http://www.chenGang.com.cn

posted on 2006-03-07 15:08 陈刚 阅读(4462) 评论(1)  编辑  收藏 所属分类: JMX

评论

# re: [JMX一步步来] 7、用JDK5.0的JConsole来连接MBean  回复  更多评论   

没图 真的很难看懂啊 能把图加上吗
目录
相关文章
|
2月前
|
Java 关系型数据库 MySQL
【编程基础知识】Eclipse连接MySQL 8.0时的JDK版本和驱动问题全解析
本文详细解析了在使用Eclipse连接MySQL 8.0时常见的JDK版本不兼容、驱动类错误和时区设置问题,并提供了清晰的解决方案。通过正确配置JDK版本、选择合适的驱动类和设置时区,确保Java应用能够顺利连接MySQL 8.0。
251 1
|
2月前
|
监控 数据可视化 Java
如何使用JDK自带的监控工具JConsole来监控线程池的内存使用情况?
如何使用JDK自带的监控工具JConsole来监控线程池的内存使用情况?
|
3月前
|
监控 数据可视化 Java
使用JDK自带的监控工具JConsole来监控线程池的内存使用情况
使用JDK自带的监控工具JConsole来监控线程池的内存使用情况
|
关系型数据库 MySQL Java
Centos7安装jdk8以及mysql5.7以及Navicat连接虚拟机mysql的出错以及解决方法(附mysql下载出错解决办法)
Centos7安装jdk8以及mysql5.7以及Navicat连接虚拟机mysql的出错以及解决方法(附mysql下载出错解决办法)
233 0
|
缓存 运维 监控
JVM-11虚拟机性能监控与故障处理工具之【JDK的可视化工具-JConsole】
JVM-11虚拟机性能监控与故障处理工具之【JDK的可视化工具-JConsole】
293 0
|
Java 数据库连接 数据库
JDK8 连接Access数据库
如何使用Java连接ODBC并配置Access数据库,JDK8配置连接Access数据库。
141 0
JDK8 连接Access数据库
|
存储 缓存 监控
JDK14性能管理工具:Jconsole详解
JDK14性能管理工具:Jconsole详解
JDK14性能管理工具:Jconsole详解
|
Java 网络安全 数据安全/隐私保护
JDK SSL连接建立的一些细节及解释
SSL通道能解决用户验证,指纹防篡改,数据加密。 用户验证通过双方的证书链来进行, 防篡改有证书的数字签名,数据加密则由SSL握手协商后的对称密码来对socket包进行加密。
1094 0