都是今天看commons-pool2中 添加了JMX管理配置文件 所以顺便看了下JMX是啥
做的也是官网上的helloworld 但是,我的JDK1.7中 并不是官网中的 命名规则 MBean 而是 MXBean 。不知道是不是我调用的包有错 。。这里直接贴代码吧
HelloMXBean
package com.binovel.util; public interface HelloMXBean { public String getname(); public void setName(String name); public String getCache(); public void setCache(String cache); }
HelloImpl
package com.binovel.util;
public class HelloImplMBean implements HelloMXBean{
private String name;
private String cache;
public String getname() {
return this.name;
}
public void setName(String name) {
System.out.println("设置名称:"+name);
this.name = name;
}
public String getCache() {
return this.cache;
}
public void setCache(String cache) {
System.out.println("设置Cache:"+cache);
this.cache = cache;
}
}
main 方法
public class JMXTest {
public static void main(String[] args) {
MBeanServer server = ManagementFactory.getPlatformMBeanServer();
try {
ObjectName helloname = new ObjectName("zhanghao:name=HelloImpl");
HelloImplMBean mbean = new HelloImplMBean();
server.registerMBean(mbean, helloname);
ObjectName adaperName = new ObjectName("HelloAgent:name=htmladapter,port=8082");
HtmlAdaptorServer adapter = new HtmlAdaptorServer();
server.registerMBean(adapter, adaperName);
adapter.start();
System.out.println("start.....");
} catch (InstanceAlreadyExistsException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (MBeanRegistrationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (NotCompliantMBeanException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (MalformedObjectNameException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
最后在浏览器中打开 localhost:8082
找到name=HelloImpl
然后 就随便修改参数吧。。。。相当的方便呀