Module  java.management

Package javax.management.openmbean

提供打开的数据类型和Open MBean描述符类。 一个开放的MBean是一个MBean,其中使用一小组预定义Java类构建了属性类型和操作参数和返回值。 开放的MBeans可以帮助远程管理程序进行操作,这些程序不一定能够访问特定于应用程序的类型,包括非Java程序。

每个MBean都有一个MBeanInfo其中包含有关MBean本身及其属性,操作,构造函数和通知的信息。 在一个开放的MBean中,这个MBeanInfo实现了OpenMBeanInfo接口,通常是OpenMBeanInfoSupport一个实例。

270474331011369为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

在打开的MBean中,属性和参数可以具有与它们相关联的默认值和/或约束,如OpenMBeanAttributeInfoOpenMBeanParameterInfo 有两种方法来指定这些约束。 这些值直接指定为OpenMBeanAttributeInfoSupportOpenMBeanParameterInfoSupport之一的构造函数的参数,例如OpenMBeanParameterInfoSupport( String, String, OpenType, Object, Object[]) ; 或者在给出的值中指定一个Descriptor作为其中一个构造函数的参数。

当使用Descriptor ,感兴趣的领域是:

defaultValueminValue ,和maxValue ,相关联的值必须是对应于该Java类型的openType ,或者是能够被转换成类型的字符串。 转换使用静态方法valueOf(String)如果找到一个; 否则,如果一个构造函数有一个String参数,如果它找到一个; 否则失败。

对于legalValues ,关联值必须是数组或Set ,并且阵列或集合的元素必须按defaultValue等所述进行defaultValue

以下条件必须符合以下条件:

  • 值必须是适当的类型,或者是可以转换为适当类型的字符串,如上所述;
  • 如果存在legalValues ,则不得存在minValuemaxValue ;
  • 如果defaultValue存在,则它必须满足定义的约束legalValuesminValue ,或maxValue当任何这些也存在;
  • 如果minValuemaxValue都存在,则minValue不能大于maxValue
从以下版本开始:
1.5
另请参见:
Java Platform documentation on JMX technology, in particular the JMX Specification, version 1.4