JMX的定义
JMX(JAVA Management Extensions)是一个为应用程序植入管理功能的框架.JMX是一套标准的代理服务,实际上,用户可以在任何java应用程序中使用这些代理和服务实现管理.
jmx 架构图
jmx的结构一共分为三层:
- 基础层
主要是mbean,被管理的资源,mbean分为四种
类型 | 描述 |
---|---|
standard Mbean | 这种类型的bean最简单,它管理的资源(包括属性,方法,时间)必须定义在接口中,然后mbean必须实现这个接口,命名必须遵循一定的规范,如mbean为hello,接口必须为HelloMbean |
dynamic Mbean | 必须实现javax.management.DynamiceMBean接口所有的属性,方法都在运行时候定义 |
open MBean | 此MBean的规范还在完善,正在改进中 |
model MBean | 与标准和动态MBean相比,你可以不用写MBean类,只需使用javax.management.modelmbean.RequiredModelMBean即可。RequiredModelMBean实现了ModelMBean接口,而ModelMBean扩展了DynamicMBean接口,因此与DynamicMBean相似,Model MBean的管理资源也是在运行时定义的。与DynamicMBean不同的是,DynamicMBean管理的资源一般定义在DynamicMBean中(运行时才决定管理那些资源),而model MBean管理的资源并不在MBean中,而是在外部(通常是一个类),只有在运行时,才通过set方法将其加入到model MBean中。后面的例子会有详细介绍 |
- 适配层
MBeanServer,主要提供对资源的注册和管理
- 接入层
提供远程访问的入口