JMX 初体验

都是今天看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

 

然后 就随便修改参数吧。。。。相当的方便呀

 

 

 

 

你可能感兴趣的:(jmx)