`
damies
  • 浏览: 238421 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

[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选项中
 
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的其中一个原因:试想如果我自己搞一套标准,势必要自己开发一个客户端,那会是一个不小的工作量。
分享到:
评论

相关推荐

    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 Source Code(jdk1.6)

    JConsole是Java开发工具集(Java Development Kit, JDK)中的一个强大的监控工具,主要用于监视Java应用程序的性能和资源使用情况。在JDK 1.6版本中,JConsole提供了丰富的图形用户界面,允许开发者和系统管理员实时...

    Jconsole中文手册

    3. **Advanced(高级连接)**:当需要使用自定义连接器或连接到使用JDK 1.4实现的JMX Remote API的应用程序时,可以使用高级连接方式。这种方式提供了更多的灵活性,允许用户指定特定的URL来连接到JMX代理。 #### ...

    JConsole_远程监控Tomcat_ricky

    JConsole 是一个集成在 Java 开发工具包 (JDK) 中的图形用户界面 (GUI) 工具,它允许用户通过 Java 管理扩展 (JMX) 对正在运行的 Java 虚拟机 (JVM) 进行监控。为了实现远程监控,目标 JVM 必须以可管理模式启动。这...

    JMX入门教程

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

    jmx三种访问方式

    1. **远程JMX连接**:Java默认使用Remote Method Invocation (RMI) 协议来实现远程JMX连接。通过设置`-Dcom.sun.management.jmxremote.rmi.port`和`-Dcom.sun.management.jmxremote.port`等参数,可以启用RMI服务,...

    JMX官方文档 - 概览,入门,规范

    2. jconsole:JDK自带的图形化管理工具,通过JMX连接到目标应用程序,展示性能数据和MBean信息。 3. jinfo、jmap、jstack等命令行工具:利用JMX获取JVM相关信息。 六、JMX实战入门 创建一个简单的MBean,例如管理...

    jmx_examples.rar_Java 8_jmx_jmx examples_jmx main_jmx_examples

    Java Management Extensions(JMX)是Java平台上的一个标准技术,用于管理和监控应用程序、服务和设备。JMX允许开发者创建管理接口,以便对运行时的组件进行动态监控和管理。在这个"jmx_examples.rar"压缩包中,包含...

    jconsole-1.8.0.zip

    JConsole是Java开发工具包(JDK)自带的一个强大的、基于Java的图形用户界面(GUI)工具,它允许我们监控Java应用程序的资源使用情况,包括内存、线程、类加载以及JVM的垃圾收集等。本文将详细介绍JConsole及其在...

    jconsole.1.8.0jar

    首先,`jconsole.1.8.0.jar`是Java官方JDK中的一个组件,属于Java Mission Control(JMC)的一部分,主要负责图形化展示Java应用程序的资源使用情况,包括内存、线程、类加载、垃圾收集等核心指标。这个版本适用于...

    使用Jconsole对java的内存使用情况(JVM)进行监控参照.pdf

    JDK1.5提供了JMX remote的管理工具Jconsole,可以监控Java运行程序的内存使用情况、活动线程数量、类装载的数量、MBeans的状态、虚拟机的各种信息等,还可以执行MBean公开的方法或强制进行垃圾回收。下面我们将详细...

    JDK10-JSE Java Management Extensions Guide-125.pdf

    7. **使用JMX工具**:JDK自带了一些工具,如`jconsole`和`jvisualvm`,它们利用JMX接口来监控Java应用程序的性能和状态。开发者也可以自定义管理控制台来对接JMX。 8. **JDK10中的新特性**:虽然具体指南没有列出...

    asf.zip_java jmx jconsole_remote

    JDK1.5提供JMX remote的管理工具Jconsole,可以监控Java运行程序的内存使用情况、活动线程数量、类装载的数量、MBeans的状态、虚拟机的各种信息等,还可以执行MBean公开的方法或强制进行垃圾回收。只要应用服务器...

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

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

    JMX Html适配器相关jar

    在默认的Java Development Kit (JDK)中,虽然提供了基于Java Swing的JConsole工具来与JMX交互,但不包含HTML适配器,因此,这个资源是Sun Microsystems(现已被Oracle收购)提供的一个额外组件,用于扩展JMX的可访问...

    JMX.rar_jmx

    - **JMX连接器**:提供了一种标准的方式来远程访问MBean Server,允许客户端通过网络进行管理操作。 ### 2. JMX 使用场景 JMX广泛应用于以下场景: - **系统监控**:例如,监控内存使用、线程状态、CPU负载等。 ...

Global site tag (gtag.js) - Google Analytics