public interface ModelMBean extends DynamicMBean, PersistentMBean, ModelMBeanNotificationBroadcaster
希望可管理的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中描述的场景之外,这些异常不必由实现抛出。
Modifier and Type | Method and Description |
---|---|
void |
setManagedResource(Object mr, String mr_type)
设置要在此ModelMBean管理界面(MBeanInfo和Descriptors)中执行所有方法的对象的实例句柄。
|
void |
setModelMBeanInfo(ModelMBeanInfo inModelMBeanInfo)
使用传入的ModelMBeanInfo初始化一个ModelMBean对象。
|
getAttribute, getAttributes, getMBeanInfo, invoke, setAttribute, setAttributes
load, store
addAttributeChangeNotificationListener, removeAttributeChangeNotificationListener, sendAttributeChangeNotification, sendAttributeChangeNotification, sendNotification, sendNotification
addNotificationListener, getNotificationInfo, removeNotificationListener
void setModelMBeanInfo(ModelMBeanInfo inModelMBeanInfo) throws MBeanException, RuntimeOperationsException
如果ModelMBean当前已注册,则此方法将抛出一个RuntimeOperationsException
包装IllegalStateException
inModelMBeanInfo
- ModelMBean要使用的ModelMBeanInfo对象。
MBeanException
- 包装分布式通信异常。
RuntimeOperationsException
-
IllegalArgumentException
。 IllegalStateException
如果了ModelMBean MBeanServer中注册。 void setManagedResource(Object mr, String mr_type) throws MBeanException, RuntimeOperationsException, InstanceNotFoundException, InvalidTargetObjectTypeException
mr
- 被管理资源的对象
mr_type
- 受管资源的引用类型。
可以是:ObjectReference,Handle,IOR,EJBHandle,RMIReference。
如果MBeanServer无法处理传入的mr_type,则会抛出InvalidTargetTypeException。
MBeanException
- 对象的初始化器抛出异常。
RuntimeOperationsException
- 包裹一个IllegalArgumentException:传入参数的托管资源类型为null。
InstanceNotFoundException
- 找不到托管资源对象
InvalidTargetObjectTypeException
- 受管资源类型无法由ModelMBean或JMX Agent处理。