Module java.management
Package javax.management

Class 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可以更改其MBeanInfo,在这种情况下,建议它们发出一个带有"jmx.mbean.info.changed"类型和作为新MBeanInfouserDataNotification。这不是必需的,但为MBean的客户端发现更改提供了一种传统方式。另请参阅MBeanInfo中的Descriptor immutableInfoinfoTimeout字段。

动态MBean的MBeanInfo的内容由其getMBeanInfo()方法确定。这包括开放MBean和模型MBean,它们是动态MBean的一种。

标准MBean的MBeanInfo的内容由MBean服务器按以下方式确定:

getDescription()返回的描述以及包含的属性和操作的描述未指定。

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

自:
1.5
参见:
  • Constructor Details

    • 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的ClassLoader已知的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的ClassLoader已知的Java类。如果它是MBean的ClassLoader已知的Java类,则建议但不是必需的类的公共方法包括那些将出现在实现此MBeanInfo中的属性和操作的标准MBean中的方法。
      description - MBean的人类可读描述(可选)。
      attributes - MBean的公开属性列表。如果为null,则具有与零长度数组相同效果。
      constructors - MBean的公共构造函数列表。如果为null,则具有与零长度数组相同效果。
      operations - MBean的操作列表。如果为null,则具有与零长度数组相同效果。
      notifications - 发出的通知列表。如果为null,则具有与零长度数组相同效果。
      descriptor - MBean的描述符。如果为null,则相当于空描述符。
      抛出:
      IllegalArgumentException
      自:
      1.6
  • Method Details

    • clone

      public Object clone()

      返回此实例的浅克隆。克隆是通过简单调用super.clone()获得的,因此调用由Object.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()是成对相等时,两个MBeanInfo对象才相等。这里的“相等”指的是Object.equals(Object),而不是身份。

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

      覆盖:
      equals 在类 Object
      参数:
      o - 要比较的对象。
      返回:
      如果且仅如果o是根据上述规则与此MBeanInfo相等的MBeanInfo,则返回true。
      参见: