javax.management.openmbean

接口
异常
提供开放数据类型和 Open MBean 描述符类。

请参见:
          描述

接口摘要
CompositeData CompositeData 接口指定表示复合数据 结构的复杂开放数据 对象的特定类型的行为。
CompositeDataView Java 类可以实现此接口,以指示如何通过 MXBean 框架将其转换为 CompositeData
OpenMBeanAttributeInfo 描述 open MBean 的属性。
OpenMBeanConstructorInfo 描述 Open MBean 的构造方法。
OpenMBeanInfo 描述一个 Open MBean:Open MBean 的识别方式为,如果 Open MBean 的 getMBeanInfo() 方法返回实现 OpenMBeanInfo 接口(通常为 OpenMBeanInfoSupport)的类的实例,则可识别 Open MBean。
OpenMBeanOperationInfo 描述 Open MBean 的操作。
OpenMBeanParameterInfo 描述用于 open MBean 的一个或多个操作或构造方法的参数。
TabularData TabularData 接口指定特定类型的复杂开放数据 对象的行为,该对象表示了表格数据 结构。
 

类摘要
ArrayType<T> ArrayType 类是一种开放类型 类,其实例描述了作为开放数据 值的 n 维数组的所有开放数据 值。
CompositeDataInvocationHandler 将获取方法转发给 CompositeDataInvocationHandler
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 类是实现 TabularDataMap 接口的开放数据 类,并且在内部它是基于哈希映射数据结构的。
TabularType TabularType 类是开放类型 类,它的实例描述了 TabularData 值的类型。
 

异常摘要
InvalidKeyException 当方法参数作为复合数据 的项名称或表格数据 的行索引时,如果其无效,则抛出此运行时异常。
InvalidOpenTypeException 开放数据 值的开放类型 不是期望的类型时,抛出此运行时异常。
KeyAlreadyExistsException 当添加到表格数据 实例的行索引已用于引用此表格数据 实例中的另一行时,抛出此运行时异常。
OpenDataException 因为无法满足一个或多个有效性约束,所以无法构造开放类型开放数据open MBean 元数据信息 实例时,抛出此经过检查的异常。
 

软件包 javax.management.openmbean 的描述

提供开放数据类型和 Open MBean 描述符类。Open MBean 是一种 MBean,其中的属性和操作参数的类型和返回值是使用预定义的 Java 类的小集合构建的。Open MBeans 通过远程管理程序简化了操作,无需访问特定于应用程序的类型(包括非 Java 程序)。

每个 MBean 都有一个 MBeanInfo,它包含关于 MBean 本身、其属性、操作、构造方法和通知的信息。在 Open MBean 中,此 MBeanInfo 实现 OpenMBeanInfo 接口,通常通过作为 OpenMBeanInfoSupport 的实例来实现。

MBeanInfo.getAttributes 为 Open MBean 返回的属性信息是实现 OpenMBeanAttributeInfo 的对象的数组,通常为 OpenMBeanAttributeInfoSupport 的实例。除关于属性的一般信息外,OpenMBeanAttributeInfo 还指定属性的 OpenType。可能的 OpenType 值是预定义的,这可以确保远程管理人员能够理解它们。

类似的注释可应用于操作和构造方法的参数类型,以及操作的返回类型。

getType() 返回的属性的 Java 语言类型和 getOpenType() 返回的 OpenType 之间存在差别。例如,如果 Java 语言类型为 java.lang.String,则 OpenType 将为 SimpleType.String。如果 Java 语言类型为 CompositeData,则 OpenType 将为 CompositeType,它描述属性的 CompositeData 实例中的项。

默认值和约束条件

在 Open MBean 中,属性和参数可以在 OpenMBeanAttributeInfoOpenMBeanParameterInfo 中拥有默认值和/或与之相关的约束条件。有两种指定这些约束条件的方法。一种是将值直接指定为 OpenMBeanAttributeInfoSupportOpenMBeanParameterInfoSupport 的构造方法的一个参数,例如,OpenMBeanParameterInfoSupport.OpenMBeanParameterInfoSupport( String, String, OpenType, Object, Object[]);另一种是在作为构造方法的参数给定的 Descriptor 中指定值。

当使用 Descriptor 时,相关的字段有:

对于 defaultValueminValuemaxValue,关联值必须是对应于 openType 的 Java 类型,或者是可转换为该类型的字符串。转换使用的是静态方法 valueOf(String)(如果有);否则使用带单个 String 参数的构造方法(如果有这样的构造方法);或者转换将失败。

对于 legalValues,关联值必须是一个数组或 Set,并且数组或 set 的元素必须能够根据对 defaultValue 等的描述进行转换。

对于这些字段必须满足以下约束条件:

  • 如上所述,值必须是恰当类型,或者是可以转换为恰当类型的字符串;
  • 如果存在 legalValues,则无须存在 minValuemaxValue
  • 如果 defaultValue 存在,则当 legalValuesminValuemaxValue 也存在时 defaultValue 必须满足它们所定义的约束条件。
  • 如果 minValuemaxValue 都存在,则 minValue 不得大于 maxValue

从以下版本开始:
1.5
另请参见:
Java SE 6 Platform documentation on JMX technology, 特别是 JMX Specification, version 1.4