现在的位置: 首页 > 综合 > 正文

JMX的简单示例

2013年10月09日 ⁄ 综合 ⁄ 共 1374字 ⁄ 字号 评论关闭

首先贴三个代码文件  Hello, HelloMBean, HelloAgent

--------------------------------------------------

Hello.java

public class Hello implements HelloMBean{
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public void printHello() {
System.out.println("Hello World, "+name);
}
public void printHello(String whoName)
{
System.out.println("Hello, "+whoName);
}
}

-----------------------------------------------------------------

HelloMBean.java

public interface HelloMBean {
public String getName();
public void setName(String name);
public void printHello();
public void printHello(String whoName);
}

------------------------------------------------------------------

HelloAgent.java

import java.lang.management.ManagementFactory;
import javax.management.MBeanServer;
import javax.management.ObjectName;
import com.sun.jdmk.comm.HtmlAdaptorServer;
public class HelloAgent {
public static void main(String[] args) throws Exception
{
MBeanServer server=ManagementFactory.getPlatformMBeanServer();
ObjectName helloName=new ObjectName("tina:name=Hello World")
;
server.registerMBean(new Hello(), helloName);
ObjectName adapterName =new ObjectName("HelloAgent:name=htmladapter,por
t=8082") //设置8082端口;
HtmlAdaptorServer adaptor=new HtmlAdaptorServer();
server.registerMBean(adaptor, adapterName);
adaptor.start();
System.out.println("start.....");
}
}
 

运行HelloAgent后,再访问http://locathost:8082就可以看到效果

心得:JMX暴露MBean中的方法,而方法的具体实现则由注册的类Hello来完成

抱歉!评论已关闭.