`
liyiye
  • 浏览: 425235 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

7、用JDK5.0的JConsole来连接MBean

    博客分类:
  • jmx
阅读更多

前面所有看效果都是通过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、修改Eclipserun选项,把-Dcom.sun.management.jmxremote=HelloAgent这一句加入到run选项中,修改如下图:

 

3、运行HelloAgent,然后在Dos窗口输入“jconsole”来启到JConsole,得到如下界面。 

4、单击连接,进入以下界面:

 

二、RMI方式

 

  还是用jconsole,但方式变了。这里不需要象上面那样修改Eclipse runvm选项。

 

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的方式除了HtmlJConsole,还有一些第三方的客户端,比较有名的是MC4j,通过这些客户端我们可以很容易去访问MBean。这也就是我们为什么要用JMX的其中一个原因:试想如果我自己搞一套标准,势必要自己开发一个客户端,那会是一个不小的工作量。

分享到:
评论

相关推荐

    Jconsole JDK自带的监控程序

    这种方式下,JConsole通过文件系统的权限验证,利用RMI连接器连接到平台MBean服务器。这种方式只适用于Sun的JDK。 2. **Remote**:允许远程监控其他主机上的JVM。连接字符串通常采用`service:jmx:rmi:///jndi/rmi:...

    jconsole使用

    **标题:“jconsole使用”** **内容概览:** `jconsole`是Java开发和...《jdk50_ts_guide.pdf》提供了关于JDK 5.0技术专题的详细指南,包括`jconsole`的使用和其他JDK工具的介绍,是学习和理解JMX监控的重要参考资料。

    jconsole使用手册

    jconsole是Java Development Kit(JDK)5.0中自带的一个性能监控工具,用于监控Java运行状态、线程数、进程数、对象、JVM内存信息、时间等性能信息。该工具可以帮助开发者和管理员实时监控Java应用程序的运行情况,...

    Jconsole中文手册

    这种方式提供了更多的灵活性,允许用户指定特定的URL来连接到JMX代理。 #### 四、监控标签页 一旦成功连接到目标JVM,JConsole将显示一系列的标签页,每个标签页提供了不同方面的监控信息: 1. **Summary(概览)...

    TongWeb5.0用户使用手册.pdf

    TongWeb5.0是一款由东方通科技开发的企业级应用服务器,它支持Java EE 5规范,并提供了丰富的特性和工具来帮助开发者构建、部署和管理应用程序。 #### Java EE 5的新特性 Java EE 5在前一代的基础上引入了许多新...

    JMX入门教程

    例如,可以使用JConsole这样的工具来查看和修改MBean的状态。 #### 四、总结 本教程通过一个简单的“Hello World”示例介绍了JMX的基本用法。通过JMX,我们可以轻松地在Java应用程序中集成管理和监控的功能,这...

    如何用JMX检测应用程序[归纳].pdf

    jconsole是Java Development Kit(JDK)自带的JMX客户端,提供了一个图形用户界面(GUI)来查看和操作MBeans。例如,通过jconsole,我们可以看到JVM的内存使用情况、线程状态、类装载信息等,甚至可以触发垃圾收集...

Global site tag (gtag.js) - Google Analytics