PAGE8 / NUMPAGES8
Java分布式应用学习笔记09JMX-MBean的介绍
刘岩
Email:suhuanzheng7784877@163.com
Blog:
MBean介绍
从上一篇Blog的内容可以看到,我们大多数代码工作量都是自定义的一个JavaBean,这个JavaBean有属性、访问器(get)、写操作(set),之后还可以定义一些非常规方法,比如执行核心管理操作的方法,甚至还可以深度调用full gc进行全面的资源回收。也就是说这个JavaBean并不像它的名字那么简单,它负责了一些监管任务等等。使用者灵活地使用JMX客户端工具,比如咱们上一章介绍的JConsole。借助Sprng框架,给开发者的感觉就是仅仅开发这种JavaBean就可以了。这种看似简单的JavaBean叫做MBean(管理构建),比较权威的定义是:在JMX规范中,管理构件定义如下:它是一个能代表管理资源的Java对象,遵从一定的设计模式,还需实现该规范定义的特定的接口。该定义了保证了所有的管理构件以一种标准的方式来表示被管理资源。
资源是什么?程序、日志、持久化数据、硬件、内存、网络吞吐量等等皆可看作是系统资源。管理资源暴露出一些信息,让外部能够进行远程查看和远程监管,这就是管理构建要做的事情。当然了管理构建MBean还得支持类似于JMS那种订阅/通知的机制。
MBean的类型
标准管理构建,学名——Standard MBean,本身暴露MBean需要符合某些命名规范,比如类结尾以MBean等等,但是使用了框架,这些限制就被透明化了。换句话说开发者只需要定制一个POJO即可,之后暴露即可。这也是上一章节的那些JMX——MBean。
咱们用一个网上的实例吧,个人觉得网上那个实例比较清晰了
public class ServerImpl {
public final long startTime;
public ServerImpl() {
startTime = System.currentTimeMillis();
}
}
之后对其进行监管
public class ServerMonitor implements ServerMonitorMBean {
private final ServerImpl target;
public ServerMonitor(ServerImpl target){
this.target = target;
}
public long getUpTime(){
return System.currentTimeMillis() - target.startTime;
}
}
之后就是暴露MBean服务
import javax.management.MBeanServer;
import javax.management.MBeanServerFactory;
import javax.management.ObjectName;
public class Main {
private static ObjectName objectName ;
private static MBeanServer mBeanServer;
public static void main(String[] args) throws Exception{
init();
manage();
}
private static void init() throws Exception{
ServerImpl serverImpl = new ServerImpl();
ServerMonitor serverMonitor = new ServerMonitor(serverImpl);
mBeanServer = MBeanServerFactory.createMBeanServer();
objectName = new ObjectName(objectName:id=ServerMonitor1);
mBeanServer.registerMBean(serverMonitor,objectName);
}
private static void manage() throws Exception{
Long
您可能关注的文档
- 2016-2017学年第一学期教学安排意见.doc
- 2017鸡年最新春联大全.doc
- 2018中国精装住宅与长租公寓设计论坛.docx
- android上的单元测试.doc
- asp个人博客网站的开发毕业设计论文.doc
- asp基于WEB方式下的网上答疑辅导系统.doc
- asterisk的软交换和中继网关的配置.doc
- cctv广告收费标准.doc
- CiscoAironet2.4GHz和5GHz天线与附件-提供全面无线.doc
- CM复合地基处理在溶洞地质地基中的应用.doc
- (正式版)DB51∕T 1867-2014 《袋栽黑木耳生产技术规程》.docx
- (正式版)DB51∕T 2413-2023 《油橄榄密植丰产栽培技术规程》.docx
- (正式版)DB51∕T 2436-2017 《川菜东坡一品肉烹饪工艺技术规范》.docx
- (正式版)DB51∕T 2396-2017 《农村电子商务服务站(点)服务与管理规范》.docx
- (正式版)DB51∕T 2419-2017 《桢楠扦插育苗技术规程》.docx
- CN105145773B 一种无花果曲奇饼干及其制作方法 (江苏农林职业技术学院).docx
- CN105203825A 微测量电极的制作方法和热电势的测量方法及相关装置 (国家纳米科学中心).docx
- CN105137533B 一种啁啾光纤光栅及其制作方法 (南京航空航天大学).docx
- (正式版)DB51∕T 2453-2018 《巴山新居公共管理指南》.docx
- (正式版)DB51∕T 1892-2014 《川西北地区沙化土地治理技术规程》.docx
原创力文档

文档评论(0)