类 MBeanInfo

java.lang.Object
javax.management.MBeanInfo
所有已实现的接口:
Serializable , Cloneable , DescriptorRead
已知子类:
ModelMBeanInfoSupport , OpenMBeanInfoSupport

public class MBeanInfo extends Object implements Cloneable , Serializable , DescriptorRead

描述由 MBean 公开的管理接口;也就是说,可用于管理操作的一组属性和操作。此类的实例是不可变的。子类可能是可变的,但不推荐这样做。

通常任何给定 MBean 的 MBeanInfo 在该 MBean 的生命周期内都不会改变。动态 MBean 可以更改它们的 MBeanInfo,在这种情况下,建议它们发出一个 Notification ,其中一个 type "jmx.mbean.info.changed",一个 用户数据 是新的 MBeanInfo。这不是必需的,但为 MBean 的客户端提供了一种发现更改的常规方法。另请参阅 MBeanInfo Descriptor 中的 不可变信息infoTimeout 字段。

Dynamic MBean 的 MBeanInfo 内容由其 getMBeanInfo() 方法确定。这包括 Open MBean 和 Model MBean,它们是 Dynamic MBean 的一种。

标准 MBean 的 MBeanInfo 内容由 MBean 服务确定,如下所示:

getDescription() 返回的描述和包含的属性和操作的描述没有指定。

未指定标准 MBean 的 MBeanInfo 的其余详细信息。这包括对任何包含的构造函数和通知的描述;构造函数和操作的参数名称;以及构造函数参数的说明。

自从:
1.5
参见:
  • 构造方法详细信息

    • MBeanInfo

      public MBeanInfo(String  className, String  description, MBeanAttributeInfo [] attributes, MBeanConstructorInfo [] constructors, MBeanOperationInfo [] operations, MBeanNotificationInfo [] notifications) throws IllegalArgumentException
      构造一个 MBeanInfo
      参数:
      className - 此 MBeanInfo 描述的 MBean 的 Java 类的名称。该值可以是任何语法上合法的 Java 类名。它不必是 MBean 服务或 MBean 的类加载器已知的 Java 类。如果它是 MBean 的 ClassLoader 已知的 Java 类,建议但不要求该类的公共方法包括那些将出现在实现此 MBeanInfo 中的属性和操作的标准 MBean 中的方法。
      description - MBean 的人类可读描述(可选)。
      attributes - MBean 的公开属性列表。这可能为 null,与零长度数组具有相同的效果。
      constructors - MBean 的公共构造函数列表。这可能为 null,与零长度数组具有相同的效果。
      operations - MBean 的操作列表。这可能为 null,与零长度数组具有相同的效果。
      notifications - 发出的通知列表。这可能为 null,与零长度数组具有相同的效果。
      抛出:
      IllegalArgumentException
    • MBeanInfo

      public MBeanInfo(String  className, String  description, MBeanAttributeInfo [] attributes, MBeanConstructorInfo [] constructors, MBeanOperationInfo [] operations, MBeanNotificationInfo [] notifications, Descriptor  descriptor) throws IllegalArgumentException
      构造一个 MBeanInfo
      参数:
      className - 此 MBeanInfo 描述的 MBean 的 Java 类的名称。该值可以是任何语法上合法的 Java 类名。它不必是 MBean 服务或 MBean 的类加载器已知的 Java 类。如果它是 MBean 的 ClassLoader 已知的 Java 类,建议但不要求该类的公共方法包括那些将出现在实现此 MBeanInfo 中的属性和操作的标准 MBean 中的方法。
      description - MBean 的人类可读描述(可选)。
      attributes - MBean 的公开属性列表。这可能为 null,与零长度数组具有相同的效果。
      constructors - MBean 的公共构造函数列表。这可能为 null,与零长度数组具有相同的效果。
      operations - MBean 的操作列表。这可能为 null,与零长度数组具有相同的效果。
      notifications - 发出的通知列表。这可能为 null,与零长度数组具有相同的效果。
      descriptor - MBean 的描述符。这可能是空的,相当于一个空的描述符。
      抛出:
      IllegalArgumentException
      自从:
      1.6
  • 方法详情

    • clone

      public Object  clone()

      返回此实例的浅克隆。克隆是通过简单地调用 super.clone() 获得的,因此调用了 Object.clone() 实现的默认本机浅克隆机制。没有对任何内部场进行更深层次的克隆。

      由于此类是不可变的,因此子类主要对 clone 方法感兴趣。

      重写:
      clone 在类 Object
      返回:
      此实例的克隆。
      参见:
    • getClassName

      public String  getClassName()
      返回此 MBeanInfo 描述的 MBean 的 Java 类的名称。
      返回:
      类名。
    • getDescription

      public String  getDescription()
      返回 MBean 的人类可读描述。
      返回:
      说明。
    • getAttributes

      public MBeanAttributeInfo [] getAttributes()
      返回为管理而公开的属性列表。每个属性都由一个 MBeanAttributeInfo 对象描述。返回的数组是内部数组的浅表副本,这意味着它是对 MBeanAttributeInfo 对象的引用的内部数组的副本,但不会复制每个引用的 MBeanAttributeInfo 对象。
      返回:
      MBeanAttributeInfo 对象的数组。
    • getOperations

      public MBeanOperationInfo [] getOperations()
      返回 MBean 的操作列表。每个操作都由一个 MBeanOperationInfo 对象描述。返回的数组是内部数组的浅表副本,这意味着它是对 MBeanOperationInfo 对象的引用的内部数组的副本,但不会复制每个引用的 MBeanOperationInfo 对象。
      返回:
      MBeanOperationInfo 对象的数组。
    • getConstructors

      public MBeanConstructorInfo [] getConstructors()

      返回 MBean 的公共构造函数列表。每个构造函数都由一个 MBeanConstructorInfo 对象描述。

      返回的数组是内部数组的浅表副本,这意味着它是对 MBeanConstructorInfo 对象的引用的内部数组的副本,但不会复制每个引用的 MBeanConstructorInfo 对象。

      返回的列表不一定是详尽无遗的。也就是说,MBean 可能有一个不在列表中的公共构造方法。在这种情况下,MBean 服务可以使用该构造方法构造此 MBean 类的另一个实例,即使它未在此处列出。

      返回:
      MBeanConstructorInfo 对象的数组。
    • getNotifications

      public MBeanNotificationInfo [] getNotifications()
      返回 MBean 发出的通知列表。每个通知都由一个 MBeanNotificationInfo 对象描述。返回的数组是内部数组的浅表副本,这意味着它是对 MBeanNotificationInfo 对象的引用的内部数组的副本,但不会复制每个引用的 MBeanNotificationInfo 对象。
      返回:
      MBeanNotificationInfo 对象的数组。
    • getDescriptor

      public Descriptor  getDescriptor()
      获取此 MBeanInfo 的描述符。更改返回值不会影响原始描述符。
      指定者:
      getDescriptor 在接口 DescriptorRead
      返回:
      一个不可变的或原始副本的描述符。
      自从:
      1.6
    • equals

      public boolean equals(Object  o)

      将此 MBeanInfo 与另一个进行比较。两个 MBeanInfo 对象相等,当且仅当它们为 getClassName() getDescription() getDescriptor() 返回相等的值,并且两个对象为 getAttributes() getOperations() getConstructors() getNotifications() 返回的数组成对相等。这里“相等”的意思是 Object.equals(Object) ,而不是同一性。

      如果两个 MBeanInfo 对象在其中一个数组中返回相同的值但顺序不同,则它们不相等。

      重写:
      equals 在类 Object
      参数:
      o - 要比较的对象。
      返回:
      当且仅当 o 是一个 MBeanInfo 且根据上述规则等于此 MBeanInfo 时才为真。
      参见: