-
- All Superinterfaces:
-
DynamicMBean
,ModelMBeanNotificationBroadcaster
,NotificationBroadcaster
,PersistentMBean
- 所有已知实现类:
-
RequiredModelMBean
public interface ModelMBeanextends DynamicMBean, PersistentMBean, ModelMBeanNotificationBroadcaster
此接口必须由ModelMBeans实现。 每个JMX代理都必须附带此接口的实现。希望可管理的Java资源使用MBeanServer的createMBean方法实例化ModelMBean。 然后,资源为ModelMBean实例设置ModelMBeanInfo(带有描述符)。 可以从MBean,连接器/适配器(如其他MBean)访问通过ModelMBean的ModelMBeanInfo公开的属性和操作。 通过ModelMBeanInfo描述符,可以定义托管应用程序中的值和方法,并将其映射到ModelMBean的属性和操作。 此映射可以在开发期间在XML格式的文件中定义,也可以在运行时以动态和编程方式定义。
在MBeanServer中实例化的每个ModelMBean都变得易于管理:其属性和操作可通过连接到该MBeanServer的连接器/适配器远程访问。 除非符合JMX的MBean,否则无法在MBeanServer中注册Java对象。 通过实例化ModelMBean,可以保证MBean的有效性。
必须在每个公共方法上抛出MBeanException和RuntimeOperationsException。 这允许从分布式通信(RMI,EJB等)中包装异常。 除了在规范和javadoc中描述的场景之外,实现不必抛出这些异常。
- 从以下版本开始:
- 1.5
-
-
方法摘要
所有方法 实例方法 抽象方法 变量和类型 方法 描述 void
setManagedResource(Object mr, String mr_type)
设置对象的实例句柄,以便在此ModelMBean管理接口(MBeanInfo和Descriptors)中执行所有方法。void
setModelMBeanInfo(ModelMBeanInfo inModelMBeanInfo)
使用传入的ModelMBeanInfo初始化ModelMBean对象。-
声明方法的接口 javax.management.DynamicMBean
getAttribute, getAttributes, getMBeanInfo, invoke, setAttribute, setAttributes
-
声明方法的接口 javax.management.modelmbean.ModelMBeanNotificationBroadcaster
addAttributeChangeNotificationListener, removeAttributeChangeNotificationListener, sendAttributeChangeNotification, sendAttributeChangeNotification, sendNotification, sendNotification
-
声明方法的接口 javax.management.NotificationBroadcaster
addNotificationListener, getNotificationInfo, removeNotificationListener
-
声明方法的接口 javax.management.PersistentMBean
load, store
-
-
-
-
方法详细信息
-
setModelMBeanInfo
void setModelMBeanInfo(ModelMBeanInfo inModelMBeanInfo) throws MBeanException, RuntimeOperationsException
使用传入的ModelMBeanInfo初始化ModelMBean对象。只要没有向MBeanServer注册,此方法就可以在ModelMBean上设置自定义的ModelMBeanInfo。
一旦ModelMBean的ModelMBeanInfo(带有描述符)被自定义并在ModelMBean上设置,ModelMBean就可以在MBeanServer中注册。如果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代理无法处理受管资源类型。
-
-