最近公司用到一些关于 JMX 的使用,在我的 BLOG 之前介绍过 JMX。一个简单的 JMX 结构由以下几个步骤去完成:① 需要一个 MBeanServer 作为一个容器,去装载你的 MBean 如下创建:MBeanServer server = MBeanServerFactory.createMBeanServer("Local");② ObjectName,JDK 文档对它的描述是这样的:表示 MBean 的对象名,或者能够与多个 MBean 名称相匹配的模式。我们可以从字面上了解到他是干什么的了,就好比一个 KEY, 当我们的 MBean 注入 MBeanServer 后总要有一个标识它,以方便我们以后通过这个 KEY 去找过我们的 MBean.如下创建:ObjectName manager = new ObjectName("NCS:name=scheduler");③ 将我们需要进行管理的 MBean 注册到 MBeanServer 中,具体如下: server.registerMBean(new IScheduler(), manager);这样就算告一段落了,完成以上步骤后,将实现一个 MBeanServer(一个容器)中拥有多个 MBean(受管理的类).这就是 JMX 的基本实现。那么假如要对 MBean 进行管理当然少不了一些管理机制,如 SUN 自己提供的HtmlAdaptorServer 和 Jconsole。HtmlAdaptorServer 可以通过 WEB 对 MBean 进行管理,Jconsole 则是 C/S 结构的。下面列举一下 HtmlAdaptorServer 的使用方法:HtmlAdaptorServer adapter = new HtmlAdaptorServer(); server.registerMBean(adapter, adapterName);以上代码片段可以看出其实 HtmlAdaptorServer 也就是个 MBean,而这个 MBean可访问注册在 MBeanServer 的其他 MBean 而已。最后启动 HtmlAdaptorServer :adapter.start();完整代码片段://XXX()自定义方法名吧!public void XXX(){ try { // create MBSERVER name is WUBINSERVER List l = MBeanServerFactory.findMBeanServer(null); if (l.size() > 0) { server = (MBeanServer) l.get(0); } else { server = MBeanServerFactory.createMBeanServer("Local"); } // Register HtmlAdaptorserver port is 8082. ObjectName adapterName = new ObjectName( "ManagerAgent:name=htmladapter,port=8082"); HtmlAdaptorServer adapter = new HtmlAdaptorServer(); server.registerMBean(adapter, adapterName); // your self objectname register. ObjectName manager = new ObjectName("NCS:name=scheduler"); serv...