JMX初体验
想要给自己的项目加上监控的功能,JMX是个不错的选择,主要是简单通用
首先建立个接口,命名规范为:Java 类名 + "MBean"后缀
然后,生成Java 类,实现上述接口,即MBean类
然后,创建MBeanServer,即JMX agent,接收客户端调用
然后,实例化MBean,生成ObjectName,在MBeanServer中注册MBean
为了通过浏览器访问,加入HtmlAdaptor,在MBeanServer中注册HtmlAdaptorServer
示例代码如下:
public interface HelloMBean { String sayHello(); } public class Hello implements HelloMBean { @Override public String sayHello(){ return Charset.defaultCharset().name(); } }
// MBeanServer mbs = MBeanServerFactory.createMBeanServer();//不能在jconsole中使用 MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();//可在jconsole中使用 //创建MBean HelloMBean mb = new Hello(); //将MBean注册到MBeanServer中 mbs.registerMBean(mb, new ObjectName("MyappMBean:name=controller")); //创建适配器,用于能够通过浏览器访问MBean HtmlAdaptorServer adapter = new HtmlAdaptorServer(); adapter.setPort(9797); mbs.registerMBean(adapter, new ObjectName("MyappMBean:name=htmladapter,port=9797")); adapter.start();
浏览器中打开http://127.0.0.1:9797/,可以看到
点开“name=controller”看到MBean详情
点击下面的"sayHello"按钮打开,返回操作结果