JMX简单实例

一、概念

1.什么是JMX:JMX(Java Management Extensions,即Java管理扩展)是一个为应用程序、设备、系统等植入管理功能的框架。

2.JMX的特点:JMX可以跨越一系列异构操作系统平台、系统体系结构和网络传输协议,灵活的开发无缝集成的系统、网络和服务管理应用。JMX是一种应用编程接口,可扩充对象和方法的集合体,可以用于跨越一系列不同的异构操作系统平台、系统体系结构和网络传输协议,灵活的开发无缝集成的系统、网络和服务管理应用它提供了用户界面指导、Java类和开发集成系统、网络及网络管理应用的规范。

3.JMX的优点:JMX可以非常容易的使应用程序具有被管理的功能;提供具有高度伸缩性的架构;主要提供接口,允许有不同的实现

4.JMX的详细内容:[url]http://www.itisedu.com/phrase/200604261751455.html[/url](以上内容摘抄于此)

二、简单实例

1.建立一个需要被JMX管理的类Hello
package bcndly.test.jmx;

public class Hello implements HelloMBean {

private String name;

public String getName() {
return name;
}

public void printHello() {
System.out.println("Hello, " + name);
}

public void printHello(String theName) {
System.out.println("Hello, " + theName);
}

public void setName(String name) {
this.name = name;
}

}


2.建立Hello类的MBean接口,接口名必须是要管理的类名+MBean
package bcndly.test.jmx;

public interface HelloMBean {

public String getName();

public void setName(String name);

public void printHello();

public void printHello(String theName);
}


3.创建一个Agent类
package bcndly.test.jmx;

import javax.management.MBeanServer;
import javax.management.MBeanServerFactory;
import javax.management.ObjectName;

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("bcndyl:name=HelloWorld");
server.registerMBean(new Hello(), helloName);
ObjectName adapterName = new ObjectName("HelloAgent:name=htmladapter,port=8091");
HtmlAdaptorServer adapter = new HtmlAdaptorServer();
server.registerMBean(adapter, adapterName);
adapter.start();
System.out.println("start.....");
}

}

说明:[list]
[*]HtmlAdaptorServer在jmxtools.jar包中,需要到SUN网站下载JMX 1.2.1 Reference Implementation
[*]MBeanServer是一个包含所有注册MBean的仓库.它是JMX代理层的核心.JMX1.0规范提供一个接口叫 javax.management.MBeanServer. 所有管理的在MBean操作通过MBeanServer执行.使用MBeanServer实例,你能够管理所有MBean.每一个MBean具有一个唯一标志,叫ObjectName.
[*]ObjectName (javax.management.ObjectName)是一个类,唯一标志一个在MBeanServer的MBean.这个对象名称用于管理应用程序来标志MBean以便操作能够在适当的MBean上被调用.一个对象名称包含两部分:域名称和没有经过排序的一个或者多个关键属性集,语法:[domain name]:property=value[,property=value]
[*]AdaptorServer,这个类将决定MBean的管理界面,这里用最普通的Html型界面。AdaptorServer其实也是一个MBean
[*]运行HelloAgent,打开IE输入http://localhost:8091就可以看到注册的MBean,在控制台看printHello的输出结果
[/list]
阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页