-
- All Superinterfaces:
-
DynamicMBean
,ModelMBeanNotificationBroadcaster
,NotificationBroadcaster
,PersistentMBean
- 所有已知实现类:
-
RequiredModelMBean
public interface ModelMBean extends DynamicMBean, PersistentMBean, ModelMBeanNotificationBroadcaster
该接口必须由ModelMBeans实现。 每个JMX代理必须随附此接口的实现。希望可管理的Java资源使用MBeanServer的createMBean方法实例化ModelMBean。 资源然后设置ModelMBean实例的ModelMBeanInfo(带描述符)。 通过ModelMBeanInfo为ModelMBean公开的属性和操作可以从MBean,连接器/适配器(如其他MBean)访问。 通过ModelMBeanInfo描述符,可以将托管应用程序中的值和方法定义并映射到ModelMBean的属性和操作。 该映射可以在XML格式化文件的开发过程中进行定义,也可以在运行时以动态和编程方式定义。
在MBeanServer中实例化的每个ModelMBean变得可管理:通过连接到该MBeanServer的连接器/适配器,其属性和操作可以远程访问。 除非是符合JMX的MBean,否则不能在MBeanServer中注册Java对象。 通过实例化一个ModelMBean,保证MBean有效的资源。
必须在每个公共方法上抛出MBeanException和RuntimeOperationsException。 这允许从分布式通信(RMI,EJB等)中包装异常。 除了在规范和javadoc中描述的场景之外,这些异常不必由实现抛出。
- 从以下版本开始:
- 1.5
-
-
方法摘要
所有方法 接口方法 抽象方法 Modifier and Type 方法 描述 void
setManagedResource(Object mr, String mr_type)
设置要在此ModelMBean管理界面(MBeanInfo和Descriptors)中执行所有方法的对象的实例句柄。void
setModelMBeanInfo(ModelMBeanInfo inModelMBeanInfo)
使用传入的ModelMBeanInfo初始化一个ModelMBean对象。-
Methods inherited from interface javax.management.DynamicMBean
getAttribute, getAttributes, getMBeanInfo, invoke, setAttribute, setAttributes
-
Methods inherited from interface javax.management.modelmbean.ModelMBeanNotificationBroadcaster
addAttributeChangeNotificationListener, removeAttributeChangeNotificationListener, sendAttributeChangeNotification, sendAttributeChangeNotification, sendNotification, sendNotification
-
Methods inherited from interface javax.management.NotificationBroadcaster
addNotificationListener, getNotificationInfo, removeNotificationListener
-
Methods inherited from interface javax.management.PersistentMBean
load, store
-
-
-
-
方法详细信息
-
setModelMBeanInfo
void setModelMBeanInfo(ModelMBeanInfo inModelMBeanInfo) throws MBeanException, RuntimeOperationsException
使用传入的ModelMBeanInfo初始化一个ModelMBean对象。该方法使得可以在ModelMBean上设置自定义的ModelMBeanInfo,只要它不向MBeanServer注册。
一旦ModelMBean的ModelMBeanInfo(带描述符)被自定义并在ModelMBean上设置,那么可以向MBeanServer注册ModelMBean。如果ModelMBean当前已注册,该方法将抛出一个
RuntimeOperationsException
包装IllegalStateException
- 参数
-
inModelMBeanInfo
- ModelMBean要使用的ModelMBeanInfo对象。 - 异常
-
MBeanException
- 包裹分布式通信异常。 -
RuntimeOperationsException
-- 如果传入的MBeanInfo参数为null,则包装一个
IllegalArgumentException
。 - 如果ModelMBean当前在MBeanServer中注册,则包装一个
IllegalStateException
。
- 如果传入的MBeanInfo参数为null,则包装一个
-
setManagedResource
void setManagedResource(Object mr, String mr_type) throws MBeanException, RuntimeOperationsException, InstanceNotFoundException, InvalidTargetObjectTypeException
设置要在此ModelMBean管理界面(MBeanInfo和Descriptors)中执行所有方法的对象的实例句柄。- 参数
-
mr
- 被管理资源的对象 -
mr_type
- 受管资源的引用类型。 可以是:ObjectReference,Handle,IOR,EJBHandle,RMIReference。 如果MBeanServer无法处理传入的mr_type,则会抛出InvalidTargetTypeException。 - 异常
-
MBeanException
- 对象的初始化器抛出异常。 -
RuntimeOperationsException
- 包裹一个IllegalArgumentException:传入参数的托管资源类型为null。 -
InstanceNotFoundException
- 找不到托管资源对象 -
InvalidTargetObjectTypeException
- 受管资源类型无法由ModelMBean或JMX Agent处理。
-
-