javax.management

接口
异常
注释
java.lang.Object
  继承者 javax.management.MBeanInfo
所有已实现的接口:
Serializable, Cloneable, DescriptorRead
直接已知子类:
ModelMBeanInfoSupport, OpenMBeanInfoSupport

public class MBeanInfo
     
extends Object
implements Cloneable, Serializable, DescriptorRead

描述由 MBean 公开的管理接口;即描述为管理操作所提供的属性和操作的集合。此类的实例是不可变的。子类可以是可变的,但是不推荐使用此功能。

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

Standard MBean 的 MBeanInfo 内容由 MBean 服务器按如下方式确定:

getDescription() 返回的描述以及所含属性和操作的描述由相应的 Description 注释(如果有)确定;其他情况下,其内容没有指定。

没有指定 Standard MBean 的 MBeanInfo 的其余细节。这包括所有包含的构造方法、通知的描述;构造方法和操作的参数的名称,以及构造方法参数的描述。

从以下版本开始:
1.5
另请参见:
序列化表格

构造方法摘要
MBeanInfo(String className, String description, MBeanAttributeInfo[] attributes, MBeanConstructorInfo[] constructors, MBeanOperationInfo[] operations, MBeanNotificationInfo[] notifications)
          构造一个 MBeanInfo
MBeanInfo(String className, String description, MBeanAttributeInfo[] attributes, MBeanConstructorInfo[] constructors, MBeanOperationInfo[] operations, MBeanNotificationInfo[] notifications, Descriptor descriptor)
          构造一个 MBeanInfo
 
方法摘要
 Object clone()
          返回此实例的浅表副本。
 boolean equals(Object o)
          比较此 MBeanInfo 与另一个 MBeanInfo。
 MBeanAttributeInfo[] getAttributes()
          返回为了便于管理而公开的属性的列表。
 String getClassName()
          返回此 MBeanInfo 描述的 MBean 的 Java 类名。
 MBeanConstructorInfo[] getConstructors()
          返回 MBean 的公共构造方法列表。
 String getDescription()
          返回该 MBean 的可读描述。
 Descriptor getDescriptor()
          获取此 MBean 的描述符。
 MBeanNotificationInfo[] getNotifications()
          返回 MBean 所发出的通知列表。
 MBeanOperationInfo[] getOperations()
          返回 MBean 的操作列表。
 int hashCode()
          返回该对象的哈希码值。
 String toString()
          返回该对象的字符串表示。
 
从类 java.lang.Object 继承的方法
finalize, getClass, notify, notifyAll, wait, wait, wait
 

构造方法详细信息

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 中的属性和操作,而这些属性和操作将出现在 Standard 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 中的属性和操作,而这些属性和操作将出现在 Standard MBean 实现中。
description - MBean 的可读描述(可选)。
attributes - MBean 已公开的属性的列表。此参数可以为 null,与零长度数组的效果相同。
constructors - MBean 的公共构造方法列表。此参数可以为 null,与零长度数组的效果相同。
operations - MBean 的操作列表。此参数可以为 null,与零长度数组的效果相同。
notifications - 已发出的那些通知的列表。此参数可以为 null,与零长度数组的效果相同。
descriptor - MBean 的描述符。此参数可以为 null,其等效于一个空描述符。
抛出:
IllegalArgumentException
从以下版本开始:
1.6
方法详细信息

clone

public Object clone()

返回此实例的浅表副本。可通过调用 super.clone() 来获得该副本,因此要调用 Object.clone() 所实现的默认本机浅表复制机制。不进行任何内部字段的更深层复制。

因为此类是不可变的,所以主要针对子类使用该 clone 方法。

覆盖:
Object 中的 clone
返回:
此实例的一个副本。
另请参见:
Cloneable

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()
获取此 MBean 的描述符。更改返回值对原描述符没有影响。

指定者:
接口 DescriptorRead 中的 getDescriptor
返回:
一个描述符,可能是不可变的,也可能是原描述符的副本。
从以下版本开始:
1.6

toString

public String toString()
从类 Object 复制的描述
返回该对象的字符串表示。通常, toString 方法会返回一个“以文本方式表示”此对象的字符串。结果应是一个简明但易于读懂的信息表达式。建议所有子类都重写此方法。

Object 类的 toString 方法返回一个字符串,该字符串由类名(对象是该类的一个实例)、at 标记符“@”和此对象哈希码的无符号十六进制表示组成。换句话说,该方法返回一个字符串,它的值等于:

getClass().getName() + '@' + Integer.toHexString(hashCode())
 

覆盖:
Object 中的 toString
返回:
该对象的字符串表示形式。

equals

public boolean equals(Object o)

比较此 MBeanInfo 与另一个 MBeanInfo。当且仅当两个 MBeanInfo 对象的 getClassName()getDescription()getDescriptor() 返回相等值,并且两个对象的 getAttributes()getOperations()getConstructors()getNotifications() 所返回的数组是成对相等时,这两个 MBeanInfo 才是相等的。其中“相等”指的是 Object.equals(Object),而不是相同。

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

覆盖:
Object 中的 equals
参数:
o - 要比较的对象。
返回:
当且仅当根据上述规则 o 等于此 MBeanInfo 时才返回 true。
另请参见:
Object.hashCode(), Hashtable

hashCode

public int hashCode()
从类 Object 复制的描述
返回该对象的哈希码值。支持此方法是为了提高哈希表(例如 java.util.Hashtable 提供的哈希表)的性能。

hashCode 的常规协定是:

  • 在 Java 应用程序执行期间,在对同一对象多次调用 hashCode 方法时,必须一致地返回相同的整数,前提是将对象进行 equals 比较时所用的信息没有被修改。从某一应用程序的一次执行到同一应用程序的另一次执行,该整数无需保持一致。
  • 如果根据 equals(Object) 方法,两个对象是相等的,那么对这两个对象中的每个对象调用 hashCode 方法都必须生成相同的整数结果。
  • 如果根据 Object.equals(java.lang.Object) 方法,两个对象不相等,那么对这两个对象中的任一对象上调用 hashCode 方法 要求一定生成不同的整数结果。但是,程序员应该意识到,为不相等的对象生成不同整数结果可以提高哈希表的性能。

实际上,由 Object 类定义的 hashCode 方法确实会针对不同的对象返回不同的整数。(这一般是通过将该对象的内部地址转换成一个整数来实现的,但是 JavaTM 编程语言不需要这种实现技巧。)

覆盖:
Object 中的 hashCode
返回:
此对象的一个哈希码值。
另请参见:
Object.equals(java.lang.Object), Hashtable