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元数据信息实例时,将抛出此已检查异常。