Package javax.management.openmbean
提供开放数据类型和Open MBean描述符类。 Open MBean是一个MBean,其中使用一小组预定义的Java类构建属性类型以及操作参数和返回值。 Open MBean便于使用远程管理程序进行操作,这些程序不一定能访问特定于应用程序的类型,包括非Java程序。
每个MBean都有一个MBeanInfo
,其中包含有关MBean本身及其属性,操作,构造函数和通知的信息。 在Open MBean中,此MBeanInfo
实现OpenMBeanInfo
接口,通常是OpenMBeanInfoSupport
的实例。
MBeanInfo.getAttributes
为Open MBean返回的属性信息是实现OpenMBeanAttributeInfo
的对象数组,通常为OpenMBeanAttributeInfoSupport
的实例。 除了关于属性通常的信息,一个OpenMBeanAttributeInfo
指定OpenType
的属性。 可以预定义可能的OpenType
值,这可以确保远程管理员了解它们。
类似的注释适用于操作和构造函数的参数类型以及操作的返回类型。
属性的Java语言类型(由getType()
返回)与其OpenType
(由getOpenType()
返回)之间存在区别 。 例如,如果Java语言类型为java.lang.String
,则OpenType
将为SimpleType.String
。 如果Java语言类型为CompositeData
,则OpenType
将为CompositeType
,其描述属性的CompositeData
实例中的项目。
Default values and constraints
在Open MBean中,属性和参数可以具有OpenMBeanAttributeInfo
或OpenMBeanParameterInfo
与其关联的默认值和/或约束。 有两种方法可以指定这些约束。 这些值直接指定为OpenMBeanAttributeInfoSupport
或OpenMBeanParameterInfoSupport
的构造函数之一的参数,例如OpenMBeanParameterInfoSupport( String, String, OpenType, Object, Object[])
; 或者在作为其中一个构造函数的参数给出的Descriptor
中指定值。
使用Descriptor
,感兴趣的字段如下:
-
defaultValue
定义getDefaultValue()
返回的值; -
minValue
定义getMinValue()
返回的值; -
maxValue
定义getMaxValue()
返回的值; -
legalValues
定义getLegalValues()
返回的值。
为defaultValue
, minValue
,和maxValue
,相关联的值必须是对应于该Java类型的openType
,或者是能够被转换成类型的字符串。 转换使用静态方法valueOf(String)
如果找到一个; 否则,如果找到一个构造函数,则该参数具有单个String
参数; 否则就失败了。
对于legalValues
,关联值必须是数组或Set
,并且数组或集合的元素必须是可转换的,如defaultValue
等所述。
这些字段必须满足以下条件:
- 值必须是适当的类型,或者是可以转换为适当类型的字符串,如上所述;
- 如果存在
legalValues
,则minValue
和maxValue
都不存在; - 如果
defaultValue
存在,则它必须满足定义的约束legalValues
,minValue
,或maxValue
当任何这些也存在; - 如果
minValue
和maxValue
都存在,则minValue
不得大于maxValue
。
- 从以下版本开始:
- 1.5
- 另请参见:
- JMX Specification, version 1.4
-
接口摘要 接口 描述 CompositeData CompositeData
接口指定表示 复合数据结构的特定类型的复杂 开放数据对象的行为。CompositeDataView Java类可以实现此接口,以指示MXBean框架如何将其转换为CompositeData
。OpenMBeanAttributeInfo 描述open MBean的属性。OpenMBeanConstructorInfo 描述Open MBean的构造函数。OpenMBeanInfo 描述Open MBean:如果Open MBean的getMBeanInfo()
方法返回实现OpenMBeanInfo
接口的类的实例(通常为OpenMBeanInfoSupport
) ,则将其识别为此类MBean。OpenMBeanOperationInfo 描述Open MBean的操作。OpenMBeanParameterInfo 描述在open MBean的一个或多个操作或构造函数中使用的参数。TabularData TabularData
接口指定表示 表格数据结构的特定类型的复杂 开放数据对象的行为。 -
类摘要 类 描述 ArrayType<T> 所述ArrayType
类是 开放类型类,其实例描述了作为 开放数据值的n维阵列所有 打开的 数据值。CompositeDataInvocationHandler InvocationHandler
将getter方法转发到CompositeData
。CompositeDataSupport CompositeDataSupport
类是实现CompositeData
接口的 开放数据类。CompositeType CompositeType
类是开放类型类,其实例描述CompositeData
值的类型。OpenMBeanAttributeInfoSupport 描述open MBean的属性。OpenMBeanConstructorInfoSupport 描述Open MBean的构造函数。OpenMBeanInfoSupport OpenMBeanInfoSupport
类描述了open MBean的管理信息:它是MBeanInfo
的子类,它实现了OpenMBeanInfo
接口。OpenMBeanOperationInfoSupport 描述Open MBean的操作。OpenMBeanParameterInfoSupport 描述在open MBean的一个或多个操作或构造函数中使用的参数。OpenType<T> OpenType
类是所有类的父抽象类,它描述了打开数据值的实际 开放类型 。SimpleType<T> SimpleType
类是开放类型类,其实例描述所有打开的数据值,这些值既不是数组,也不是CompositeData
值,也不是TabularData
值。TabularDataSupport TabularDataSupport
类是 开放数据类,它实现TabularData
和Map
接口,并且内部基于哈希映射数据结构。TabularType TabularType
类是开放类型类,其实例描述TabularData
值的类型。 -
异常摘要 异常 描述 InvalidKeyException 抛出此运行时异常以指示预期为 复合数据的项名称或 表格数据的行索引的方法参数无效。InvalidOpenTypeException 抛出此运行时异常以指示 打开的数据值的 开放类型不是预期的类型。KeyAlreadyExistsException 抛出此运行时异常以指示要添加到 表格数据实例的行的索引已用于引用此 表格数据实例中的另一行。OpenDataException 当由于未满足一个或多个有效性约束而无法构造 开放类型 , 开放数据或 开放MBean元数据信息实例时,将抛出此已检查异常。