java.lang.Object javax.management.MBeanInfo
public class MBeanInfo
描述由 MBean 公开的管理接口;即描述为管理操作所提供的属性和操作的集合。此类的实例是不可变的。子类可以是可变的,但是不推荐使用此功能。
Dynamic MBean 的 MBeanInfo
内容由其 getMBeanInfo()
方法确定。这包括 Open MBean 和 Model MBean,它们都属于 Dynamic MBean。
Standard MBean 的 MBeanInfo
内容由 MBean 服务器按如下方式确定:
getClassName()
返回 MBean 对象的 Java 类名; getConstructors()
返回该对象中所有公共构造方法的列表; getAttributes()
返回所有属性的列表,这些属性的存在是根据 MBean 接口中是否存在 getName
、isName
或 setName
方法(符合 Standard MBean 的约定)来推断的; getOperations()
返回 MBean 接口中不表示属性的所有方法的列表; NotificationBroadcaster
接口,则 getNotifications()
返回一个空数组;否则它返回在该接口上调用 NotificationBroadcaster.getNotificationInfo()
的结果; getDescriptor()
返回一个描述符,其包含的内容是 MBean 接口中的所有描述符注释。 getDescription()
返回的描述以及所含属性和操作的描述由相应的
Description 注释(如果有)确定;其他情况下,其内容没有指定。
没有指定 Standard MBean 的 MBeanInfo
的其余细节。这包括所有包含的构造方法、通知的描述;构造方法和操作的参数的名称,以及构造方法参数的描述。
构造方法摘要 | |
---|---|
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 |
构造方法详细信息 |
---|
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
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
方法详细信息 |
---|
public Object clone()
返回此实例的浅表副本。可通过调用 super.clone() 来获得该副本,因此要调用 Object.clone() 所实现的默认本机浅表复制机制。不进行任何内部字段的更深层复制。
因为此类是不可变的,所以主要针对子类使用该 clone 方法。
Cloneable
public String getClassName()
MBeanInfo
描述的 MBean 的 Java 类名。
public String getDescription()
public MBeanAttributeInfo[] getAttributes()
MBeanAttributeInfo
对象描述。返回的数组是内部数组的一个浅表副本,这意味着它是
MBeanAttributeInfo
对象引用的一个内部数组副本,但它没有复制每个被引用的
MBeanAttributeInfo
对象。
MBeanAttributeInfo
对象的数组。
public MBeanOperationInfo[] getOperations()
MBeanOperationInfo
对象描述。返回的数组是内部数组的一个浅表副本,这意味着它是
MBeanOperationInfo
对象引用的一个内部数组副本,但它没有复制每个被引用的
MBeanOperationInfo
对象。
MBeanOperationInfo
对象的数组。
public MBeanConstructorInfo[] getConstructors()
返回 MBean 的公共构造方法列表。每个构造方法都由一个 MBeanConstructorInfo
对象描述。
返回的数组是内部数组的一个浅表副本,这意味着它是 MBeanConstructorInfo
对象引用的一个内部数组副本,但它没有复制每个被引用的 MBeanConstructorInfo
对象。
该返回的列表不必包括全部的构造方法。也就是说,该 MBean 具有的公共构造方法可能不在该列表中。在这种情况下,MBean 服务器可以使用该构造方法构造此 MBean 类的另一个实例,即使该构造方法不在列表中也是如此。
MBeanConstructorInfo
对象的数组。
public MBeanNotificationInfo[] getNotifications()
MBeanNotificationInfo
对象描述。返回的数组是内部数组的一个浅表副本,这意味着它是
MBeanNotificationInfo
对象引用的一个内部数组副本,但它没有复制每个被引用的
MBeanNotificationInfo
对象。
MBeanNotificationInfo
对象的数组。
public Descriptor getDescriptor()
DescriptorRead
中的
getDescriptor
public String toString()
Object
复制的描述
toString
方法会返回一个“以文本方式表示”此对象的字符串。结果应是一个简明但易于读懂的信息表达式。建议所有子类都重写此方法。
Object
类的 toString
方法返回一个字符串,该字符串由类名(对象是该类的一个实例)、at 标记符“@
”和此对象哈希码的无符号十六进制表示组成。换句话说,该方法返回一个字符串,它的值等于:
getClass().getName() + '@' + Integer.toHexString(hashCode())
public boolean equals(Object o)
比较此 MBeanInfo 与另一个 MBeanInfo。当且仅当两个 MBeanInfo 对象的 getClassName()
、getDescription()
和 getDescriptor()
返回相等值,并且两个对象的 getAttributes()
、getOperations()
、getConstructors()
和 getNotifications()
所返回的数组是成对相等时,这两个 MBeanInfo 才是相等的。其中“相等”指的是 Object.equals(Object)
,而不是相同。
如果两个 MBeanInfo 对象返回的数组中的值相同,但是顺序不同,则这两个对象不是相等的。
o
- 要比较的对象。
o
等于此 MBeanInfo 时才返回 true。
Object.hashCode()
,
Hashtable
public int hashCode()
Object
复制的描述
java.util.Hashtable
提供的哈希表)的性能。
hashCode
的常规协定是:
hashCode
方法都必须生成相同的整数结果。 Object.equals(java.lang.Object)
方法,两个对象不相等,那么对这两个对象中的任一对象上调用 hashCode 方法不 要求一定生成不同的整数结果。但是,程序员应该意识到,为不相等的对象生成不同整数结果可以提高哈希表的性能。 实际上,由 Object 类定义的 hashCode 方法确实会针对不同的对象返回不同的整数。(这一般是通过将该对象的内部地址转换成一个整数来实现的,但是 JavaTM 编程语言不需要这种实现技巧。)
Object.equals(java.lang.Object)
,
Hashtable