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服务
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相关推荐
- [JMX一步步来] 7、用JDK5.0的JConsole来连接MBean
前面所有看效果都是通过Html网页来看的.JDK5.0自带了一个jmx客户端,叫jconsole,位于c:\jdk\bin\jconsole.exe.我们来用用这个客户端来连接Mbean Server ...
- JConsole远程连接配置
JConsole远程连接还是有一点坑的.这里记录一下配置过程,好记性不如烂笔头. 1.在远程机的tomcat的catalina.sh中加入配置: JAVA_OPTS="$JAVA_OPTS ...
- JDK5.0新特性系列---目录
JDK5.0新特性系列---目录 JDK5.0新特性系列---1.自动装箱和拆箱 JDK5.0新特性系列---2.新的for循环 JDK5.0新特性系列---3.枚举类型 JDK5.0新特性系列--- ...
- JDK5.0中JVM堆模型、GC垃圾收集详细解析 .
前段时间在一个项目的性能测试中又发生了一次OOM(Out of swap sapce),情形和以前网店版的那次差不多,比上次更奇怪的是,此次搞了几天之后啥都没调整系统就自动好了,死活没法再重现之前的O ...
- [导入]使用tomcat5.0自带的连接池
使用tomcat5.0自带的连接池 http://dev.csdn.net/Develop/article/28/74940.shtm 阅读全文 类别:Jsp 查看评论 文章来源:http://hi. ...
- JDK5.0环境下配置PKCS#11
JDK5.0环境下配置PKCS#11 发表日期:2008-1-5 新浪微博 QQ空间 QQ微博 百度搜藏 腾讯朋友 QQ收藏 百度空间 人人网 开心网 这篇文章不介绍具体的编程方法,而是针对PKCS# ...
- JDK5.0新特性之:泛型
文/陈刚 2005-11-09 一.前言 泛型这个词在现在的JAVA挺时髦,光从字面上你是无法知道它代表些什么东东的,所以我们还是不要从字面去理解,而是从一些实例去了解它吧. 二.泛型之前的日子 JD ...
- java jconsole rmi 连接不上
今天在虚拟机开放远程jconsole连接,设置了jmxrote的参数 JAVA_OPTIONS="${JAVA_OPTIONS} -Dcom.sun.management.jmxremote ...
- 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. 文件系统——磁盘分区、各目录功能、硬盘
- GitHub与PyCharm配置最新简单教程
- python表白-520使用Python实现“我爱你”表白
- 临床研究中的基因组学、药物基因组学、蛋白质组学和转录组学 Omics in Clinical Practice: Genomics, Pharmacogenomics, Proteomics, and
- wordpress博客留言自动填写
- jQuery杂项进阶(四)
- 查看Mysql实时执行的Sql语句
- swoole php 微信推送,基于thinkphp5、swoole和easywechat微信模板消息推送
- 【转】Prewitt 算子
- java 虚拟机内存不足_JAVA虚拟机内存不够解决办法
- QGIS 3. 使用qgis制作三维浮雕地图
- iOS10更新_本地通知新框架UserNotifications
- portknocking(端口试探) demo
- 一位高人隐士传授的炼精化气秘法 透彻之极!
- vue实现任务周期cron表达式选择组件
- 检测恶意软件分类模型中的概念漂移
- php学到最后,【A0365】[PHP视频教程]新开班布尔教育最后一期PHP 入门到实战视频教程 百度云 网盘...
- 对抗样本学习笔记:Adversarial Examples: Attacks and Defenses for Deep Learning
- SAP BW/4 HANA基础学习(一)
- python获取网络数据失败_0.人脸识别网络不行下载失败