使用JMX构建管理型Bean:从入门到实践
1. MBean组件类型
在Java管理扩展(JMX)中,MBean(Managed Bean)是实现管理接口的组件。MBean可以是静态的,通过Java接口定义管理接口,也可以是动态的,通过一组元数据类定义管理接口。JMX规范定义了四种不同类型的MBean组件,其中三种在当前的1.0版本规范中是必须的:
- 标准MBean :通过声明一个Java接口来创建,该接口包含了MBean必须实现的管理信息。
- 动态MBean :通过一组元数据类来描述其管理接口。
- 模型MBean :通过允许向管理接口添加额外的描述符来扩展动态MBean。
- 开放型MBean :将管理接口中使用的对象类型限制为一组预定义的类,这些类代表了基本类型。
标准MBean、动态MBean和模型MBean是必须的,所有符合JMX实现的都必须实现它们。开放型MBean在1.0版本的规范中并未完成,因此不是必需的。
MBeans注册到一个能够操作已注册管理组件的代理上。该代理作为MBeans的注册表,提供了一种通过它们的管理接口查询和修改管理组件的手段。代理与MBean组件之间的关系如图1.1所示。
graph TD;
A[管理客户端] --> B[代理];
B --> C[MBean组件];
C