【jmx学习】2、jmx之Html Adaptor
来源:互联网 发布:域名未实名可以解析吗 编辑:程序博客网 时间:2024/06/04 20:59
一、jmx开发准备
下载地址:http://java.sun.com/products/JavaManagement/download.html
下载jmx-1_2_1-ri.zip(JMX 1.2.1 Reference Implementation) , 解压后的lib目录包含:jmxri.jar、jmxtools.jar
下载jmx_remote-1_0_1_03-ri.zip(JMX Remote API 1.0.1_04 Reference Implementation), 解压后的lib目录包含:jmxremote.jar、jmxremote_optional.jar、rmissl.jar
JDK5.0的jre\lib\rt.jar已经包含了jmxri.jar、jmxremote.jar、rmissl.jar三个包的代码。如果你用到jmxtools.jar、jmxremote_optional.jar的类,则需要将这两个类加入到classpath或Eclipse的项目库引用中。
二、开发
1、定义一个MBean接口
运行结果:启动mian函数,运行http://localhost:8082/
点击进入此MBean View界面
按照上图操作就可以在后台打出结果了
三、注意事项
1、MBean接口的名称必须是×××MBean。
2、MBean实现的名称是×××。
3、MBean实现类必须有个public的构造函数。
4、MBean接口和实现类必须在同一路径下
四、MBean类型
总结:创建MBean必须建一个同级的MBean接口,因为这是标准MBean的规范,要不就实现javax.management.DynamicMBean接口,这就变成了动态的MBean。实现的接口才能被远程客户端调用,标准MBean是最常用的,有时维护接口比较麻烦,可以用apache网站下载commons-modeler来开发JMX,用XML代替接口
二、开发
1、定义一个MBean接口
package com.hy.demo.jmx;public interface PersonMBean {public void setName(String name);public String getName();public void printName();}2、创建MBean,实现MBean接口
package com.hy.demo.jmx;public class Person implements PersonMBean {private String name;public Person(){};@Overridepublic void setName(String name) {this.name = name;}@Overridepublic String getName() {return name;}@Overridepublic void printName() {System.out.println("My name is " + name);}}3、创建JMXServer并注册MBean
package com.hy.demo.jmx;import javax.management.MBeanServer;import javax.management.MBeanServerFactory;import javax.management.ObjectName;import com.sun.jdmk.comm.HtmlAdaptorServer;public class HtmlAgent {public static void main(String[] args) throws Exception { MBeanServer server = MBeanServerFactory.createMBeanServer();//创建MBeanServer ObjectName helloName = new ObjectName("hy:name=Tom"); server.registerMBean(new Person(), helloName);//注册MBean到Server ObjectName adapterName = new ObjectName("HtmlAgent:name=htmladapter,port=8082"); HtmlAdaptorServer adapter = new HtmlAdaptorServer();//需要引入jmxtools.jar server.registerMBean(adapter, adapterName); adapter.start(); System.out.println("start.....");}}
运行结果:启动mian函数,运行http://localhost:8082/
点击进入此MBean View界面
按照上图操作就可以在后台打出结果了
三、注意事项
1、MBean接口的名称必须是×××MBean。
2、MBean实现的名称是×××。
3、MBean实现类必须有个public的构造函数。
4、MBean接口和实现类必须在同一路径下
四、MBean类型
- 标准MBeans(Standard MBeans)设计和实现是最简单的,这类MBean使用自己的方法名作为管理接口;
- 动态MBeans(Dynamic MBeans)必须实现一个指定的接口,由于动态MBeans在运行期间暴露它们的管理接口,因此更为灵活;
- 开放MBeans(Open MBeans)属于动态MBeans,这类MBean依靠基础数据类型来实现通用管理,并为友情用户进行自我声明;
- 模型MBeans(Model MBeans)同样也是动态MBeans,这类MBeans是完全可配置的,在运行期间进行自我声明;它们为资源动态工具提供一个一般性的,有默认行为的MBeans类。
总结:创建MBean必须建一个同级的MBean接口,因为这是标准MBean的规范,要不就实现javax.management.DynamicMBean接口,这就变成了动态的MBean。实现的接口才能被远程客户端调用,标准MBean是最常用的,有时维护接口比较麻烦,可以用apache网站下载commons-modeler来开发JMX,用XML代替接口
- 【jmx学习】2、jmx之Html Adaptor
- 【jmx学习】3、jmx之RMI Adaptor
- JMX学习(2)
- jmx学习
- jmx学习
- JMX学习
- JMX 学习
- JMX学习
- JMX学习
- JMX
- JMX
- JMX
- JMX
- jmx
- JMX
- JMX
- jmx
- jmx
- 如何养成良好的 C++ 编程习惯(一)—— 内存管理
- 黑马程序员-static关键字和单例模式
- C语言简单程序判定大小端
- 对APK进行重签名
- Cocos2dx 绘制流程总结
- 【jmx学习】2、jmx之Html Adaptor
- 三种排序方法的比较
- android4.1.2获得屏幕分辨率的方法,其它神马都是浮云!
- Android Toast 简单封装
- Windows界面编程第九篇 位图显示特效 交错效果
- Linux下MySql插入汉字报错解决(/etc/my.cnf不存在)
- Windows界面编程第十篇 位图显示特效 百叶窗效果
- 淘宝技术发展4(Java时代:脱胎换骨)
- Windows界面编程第十一篇 位图显示特效 随机积木效果