前面所有看效果都是通过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的其中一个原因:试想如果我自己搞一套标准,势必要自己开发一个客户端,那会是一个不小的工作量。

7. 用JDK5.0的JConsole来连接MBean相关推荐

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

    前面所有看效果都是通过Html网页来看的.JDK5.0自带了一个jmx客户端,叫jconsole,位于c:\jdk\bin\jconsole.exe.我们来用用这个客户端来连接Mbean Server ...

  2. JConsole远程连接配置

    JConsole远程连接还是有一点坑的.这里记录一下配置过程,好记性不如烂笔头. 1.在远程机的tomcat的catalina.sh中加入配置: JAVA_OPTS="$JAVA_OPTS ...

  3. JDK5.0新特性系列---目录

    JDK5.0新特性系列---目录 JDK5.0新特性系列---1.自动装箱和拆箱 JDK5.0新特性系列---2.新的for循环 JDK5.0新特性系列---3.枚举类型 JDK5.0新特性系列--- ...

  4. JDK5.0中JVM堆模型、GC垃圾收集详细解析 .

    前段时间在一个项目的性能测试中又发生了一次OOM(Out of swap sapce),情形和以前网店版的那次差不多,比上次更奇怪的是,此次搞了几天之后啥都没调整系统就自动好了,死活没法再重现之前的O ...

  5. [导入]使用tomcat5.0自带的连接池

    使用tomcat5.0自带的连接池 http://dev.csdn.net/Develop/article/28/74940.shtm 阅读全文 类别:Jsp 查看评论 文章来源:http://hi. ...

  6. JDK5.0环境下配置PKCS#11

    JDK5.0环境下配置PKCS#11 发表日期:2008-1-5 新浪微博 QQ空间 QQ微博 百度搜藏 腾讯朋友 QQ收藏 百度空间 人人网 开心网 这篇文章不介绍具体的编程方法,而是针对PKCS# ...

  7. JDK5.0新特性之:泛型

    文/陈刚 2005-11-09 一.前言 泛型这个词在现在的JAVA挺时髦,光从字面上你是无法知道它代表些什么东东的,所以我们还是不要从字面去理解,而是从一些实例去了解它吧. 二.泛型之前的日子 JD ...

  8. java jconsole rmi 连接不上

    今天在虚拟机开放远程jconsole连接,设置了jmxrote的参数 JAVA_OPTIONS="${JAVA_OPTIONS} -Dcom.sun.management.jmxremote ...

  9. tomcat6.0+mysql5.0+jdk5.0+myeclipse6.0打造JSP开发平台

    1.下载tomcat6.0(http://tomcat.apache.org/download-60.cgi), mysql5.0(http://download.mysql.cn/src/2006/ ...

最新文章

  1. 1. 文件系统——磁盘分区、各目录功能、硬盘
  2. GitHub与PyCharm配置最新简单教程
  3. python表白-520使用Python实现“我爱你”表白
  4. 临床研究中的基因组学、药物基因组学、蛋白质组学和转录组学 Omics in Clinical Practice: Genomics, Pharmacogenomics, Proteomics, and
  5. wordpress博客留言自动填写
  6. jQuery杂项进阶(四)
  7. 查看Mysql实时执行的Sql语句
  8. swoole php 微信推送,基于thinkphp5、swoole和easywechat微信模板消息推送
  9. 【转】Prewitt 算子
  10. java 虚拟机内存不足_JAVA虚拟机内存不够解决办法
  11. QGIS 3. 使用qgis制作三维浮雕地图
  12. iOS10更新_本地通知新框架UserNotifications
  13. portknocking(端口试探) demo
  14. 一位高人隐士传授的炼精化气秘法 透彻之极!
  15. vue实现任务周期cron表达式选择组件
  16. 检测恶意软件分类模型中的概念漂移
  17. php学到最后,【A0365】[PHP视频教程]新开班布尔教育最后一期PHP 入门到实战视频教程 百度云 网盘...
  18. 对抗样本学习笔记:Adversarial Examples: Attacks and Defenses for Deep Learning
  19. SAP BW/4 HANA基础学习(一)
  20. python获取网络数据失败_0.人脸识别网络不行下载失败

热门文章

  1. OpenStack vs VMware
  2. 市值超660亿,居然之家成功借壳上市
  3. PyQT5 - 打包为.EXE文件
  4. 解决svn: E170001报错
  5. 电磁阀工作原理及控制电路设计
  6. SaaS的商业模式是如何影响软件公司估值
  7. 单调函数必有反函数,但为何有反函数的不一定是单调函数
  8. 为什么要看《代码大全》?
  9. 第十一章 曲线积分与曲面积分
  10. 第2章 - 论题和结论是什么 (了解论题)