public class MBeanInfo extends Object implements Cloneable, Serializable, DescriptorRead
介绍了管理接口通过MBean暴露;即,属性和操作,可用于管理操作的集合。这个类的实例是不可变的。子类可以是可变的但这是不推荐的。
通常对于任何给定的MBean的MBeanInfo不在,MBean寿命变化。动态MBean可以改变他们的MBeanInfo在这种情况下,建议他们发出Notification与type的"jmx.mbean.info.changed"和userData即新MBeanInfo。这不是必需的,但提供的MBean客户发现改变传统方式。看在MBeanInfo Descriptor的immutableInfo和infoTimeout领域。
其getMBeanInfo()法确定一个动态MBean的MBeanInfo内容。这包括开放MBean模型MBean,即动态MBean类型。
通过MBean服务器确定如下是标准MBean的MBeanInfo内容:
getClassName()返回MBean对象的java类的名称;getConstructors()返回对象中的所有公共构造函数列表;getAttributes()返回所有属性从一个getName,isName MBean接口存在推导出存在的列表,或setName方法符合标准MBean的公约;getOperations()返回在MBean接口,不代表所有的属性方法列表;getNotifications()返回一个空数组,如果不实施NotificationBroadcaster MBean接口,否则它叫NotificationBroadcaster.getNotificationInfo()结果;getDescriptor()返回一个描述符包含在MBean接口描述符附注的内容(见@DescriptorKey)。描述返回getDescription()和包含的属性和操作的描述是不指定。
其余细节的MBeanInfo一标准MBean都没有指定。这包括任何包含的构造函数的描述,和通知;参数的名称到构造函数和操作;和构造函数参数的描述。
| Constructor and Description |
|---|
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。
|
| Modifier and Type | Method and Description |
|---|---|
Object |
clone()
返回此实例的浅克隆。
|
boolean |
equals(Object o)
比较这mbeaninfo到另一个。
|
MBeanAttributeInfo[] |
getAttributes()
返回用于管理的属性列表。
|
String |
getClassName()
返回的MBean所描述的这
MBeanInfo java类的名称。
|
MBeanConstructorInfo[] |
getConstructors()
返回的MBean的公共构造函数列表。
|
String |
getDescription()
返回一个人类的MBean可读的描述。
|
Descriptor |
getDescriptor()
得到这个mbeaninfo描述符。
|
MBeanNotificationInfo[] |
getNotifications()
返回由MBean发出的通知列表。
|
MBeanOperationInfo[] |
getOperations()
返回的MBean操作列表。
|
int |
hashCode()
返回一个对象的哈希代码值。
|
String |
toString()
返回对象的字符串表示形式。
|
public MBeanInfo(String className, String description, MBeanAttributeInfo[] attributes, MBeanConstructorInfo[] constructors, MBeanOperationInfo[] operations, MBeanNotificationInfo[] notifications) throws IllegalArgumentException
MBeanInfo。
className -对MBean笔下的这
MBeanInfo java类的名称。这个值可以是任何形式的法律java类的名称。它不必是一个java类已知的MBean服务器或MBean的类加载器。如果这是一个java类已知的MBean的类装载器,建议但不要求该类的公共方法,包括那些将出现在标准MBean这mbeaninfo实现属性和操作。
description -人类的MBean可读的描述(可选)。
attributes -暴露的MBean属性列表。这可能是空的,与一零个长度数组相同的效果。
constructors的MBean的公共构造函数列表。这可能是空的,与一零个长度数组相同的效果。
operations的MBean操作列表。这可能是空的,与一零个长度数组相同的效果。
notifications -发出通知列表。这可能是空的,与一零个长度数组相同的效果。
IllegalArgumentException
public MBeanInfo(String className, String description, MBeanAttributeInfo[] attributes, MBeanConstructorInfo[] constructors, MBeanOperationInfo[] operations, MBeanNotificationInfo[] notifications, Descriptor descriptor) throws IllegalArgumentException
MBeanInfo。
className -对MBean笔下的这
MBeanInfo java类的名称。这个值可以是任何形式的法律java类的名称。它不必是一个java类已知的MBean服务器或MBean的类加载器。如果这是一个java类已知的MBean的类装载器,建议但不要求该类的公共方法,包括那些将出现在标准MBean这mbeaninfo实现属性和操作。
description -人类的MBean可读的描述(可选)。
attributes -暴露的MBean属性列表。这可能是空的,与一零个长度数组相同的效果。
constructors的MBean的公共构造函数列表。这可能是空的,与一零个长度数组相同的效果。
operations的MBean操作列表。这可能是空的,与一零个长度数组相同的效果。
notifications -发出通知列表。这可能是空的,与一零个长度数组相同的效果。
descriptor为MBean描述符。这可能是空的,这相当于一个空的描述符。
IllegalArgumentException
public Object clone()
返回此实例的浅克隆。克隆是通过简单地调用super.clone()获得,从而调用默认本地浅克隆机制的实施Object.clone()。没有更深的克隆任何内部场了。
由于这个类是不可变的,克隆方法主要是感兴趣的子类。
public String getClassName()
MBeanInfo 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()
getDescriptor 接口
DescriptorRead
public String toString()
Object
toString方法返回一个字符串,“以文本方式表示”这个对象。其结果应该是一个简洁,但翔实的代表性,是一个容易阅读的人。建议所有子类都重写此方法。
该方法返回一个类toString Object组成的类的对象是一个实例的名称字符串的符号` @ ',和符号进制表示的对象的哈希码。换句话说,此方法返回一个等于值的字符串:
getClass().getName() + '@' + Integer.toHexString(hashCode())
public boolean equals(Object o)
比较这mbeaninfo到另一个。两mbeaninfo对象相等当且仅当他们返回getClassName(),相等的值getDescription(),和getDescriptor(),和阵列的getAttributes()返回,getOperations(),getConstructors()两物体,和getNotifications()两两相等。这里的“平等”是指Object.equals(Object),不认同。
如果两mbeaninfo对象返回相同的值,在他们的一个阵列,但以不同的顺序则是不平等的。
equals 方法重写,继承类
Object
o -对象比较。
o是mbeaninfo等于这一根据上述规则。
Object.hashCode(),
HashMap
public int hashCode()
Object
HashMap利益支持。
对hashCode一般合同:
hashCode方法总是返回相同的整数,没有提供信息用于equals比较的对象被修改。这个整数不需要保持一致,从一个应用程序的一个执行到另一个执行相同的应用程序。equals(Object)法两个对象是相等的,那么调用hashCode方法每一个对象必须产生相同的整数结果。Object.equals(java.lang.Object)法两个对象是不平等的,然后调用hashCode方法每一个对象必须产生不同的整数结果。然而,程序员应该意识到,产生不同的整数结果的不平等的对象可能会提高哈希表的性能。尽合理的切实可行,由类Object定义hashCode方法返回不同的对象不同的整数。(这通常是通过将该对象的内部地址转换成一个整数,但这不是实现实现技术的™java编程语言。要求)
hashCode 方法重写,继承类
Object
Object.equals(java.lang.Object),
System.identityHashCode(java.lang.Object)
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.