- 所有已实现的接口:
-
Serializable,Cloneable,DescriptorRead
- 直接已知的子类:
-
ModelMBeanInfoSupport,OpenMBeanInfoSupport
描述了MBean公开的管理接口;即可用于管理操作的属性和操作集。此类的实例是不可变的。子类可能是可变的,但不建议这样做。
通常,给定MBean的MBeanInfo在其生命周期内不会更改。动态MBean可以更改其MBeanInfo,在这种情况下,建议它们发出一个带有"jmx.mbean.info.changed"类型和作为新MBeanInfo的userData的Notification。这不是必需的,但为MBean的客户端发现更改提供了一种传统方式。另请参阅MBeanInfo中的Descriptor immutableInfo和infoTimeout字段。
动态MBean的MBeanInfo的内容由其getMBeanInfo()方法确定。这包括开放MBean和模型MBean,它们是动态MBean的一种。
标准MBean的MBeanInfo的内容由MBean服务器按以下方式确定:
getClassName()返回MBean对象的Java类名;getConstructors()返回该对象中所有公共构造函数的列表;getAttributes()返回所有属性的列表,这些属性的存在是根据MBean接口中符合标准MBean约定的getName、isName或setName方法的存在推断的;getOperations()返回MBean接口中表示属性的所有方法的列表;getNotifications()如果MBean未实现NotificationBroadcaster接口,则返回空数组,否则调用其上的NotificationBroadcaster.getNotificationInfo()的结果;getDescriptor()返回包含MBean接口中任何描述符注释内容的描述符(请参阅@DescriptorKey)。
由getDescription()返回的描述以及包含的属性和操作的描述未指定。
标准MBean的MBeanInfo的其余细节未指定。这包括任何包含的构造函数、通知的描述;构造函数和操作的参数名称;以及构造函数参数的描述。
- 自:
- 1.5
- 参见:
-
Constructor Summary
ConstructorsConstructorDescriptionMBeanInfo(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。 -
Method Summary
Modifier and TypeMethodDescriptionclone()返回此实例的浅克隆。boolean将此MBeanInfo与另一个进行比较。返回用于管理的属性列表。返回描述此MBeanInfo所描述的MBean的Java类的名称。返回MBean的公共构造函数列表。返回MBean的人类可读描述。获取此MBeanInfo的描述符。返回MBean发出的通知列表。返回MBean的操作列表。
-
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
返回此实例的浅克隆。克隆是通过简单调用
super.clone()获得的,因此调用由Object.clone()实现的默认本地浅克隆机制。不会对任何内部字段进行更深层次的克隆。由于此类是不可变的,因此克隆方法主要对子类感兴趣。
-
getClassName
返回描述此MBeanInfo所描述的MBean的Java类的名称。- 返回:
- 类名。
-
getDescription
返回MBean的人类可读描述。- 返回:
- 描述。
-
getAttributes
返回用于管理的属性列表。每个属性由一个MBeanAttributeInfo对象描述。返回的数组是内部数组的浅拷贝,这意味着它是对MBeanAttributeInfo对象的内部数组引用的副本,但每个引用的MBeanAttributeInfo对象未被复制。- 返回:
-
一个
MBeanAttributeInfo对象数组。
-
getOperations
返回MBean的操作列表。每个操作由一个MBeanOperationInfo对象描述。返回的数组是内部数组的浅拷贝,这意味着它是对MBeanOperationInfo对象的内部数组引用的副本,但每个引用的MBeanOperationInfo对象未被复制。- 返回:
-
一个
MBeanOperationInfo对象数组。
-
getConstructors
返回MBean的公共构造函数列表。每个构造函数由一个
MBeanConstructorInfo对象描述。返回的数组是内部数组的浅拷贝,这意味着它是对
MBeanConstructorInfo对象的内部数组引用的副本,但每个引用的MBeanConstructorInfo对象未被复制。返回的列表不一定是详尽的。也就是说,MBean可能有一个未在列表中的公共构造函数。在这种情况下,MBean服务器可以使用该构造函数构造此MBean类的另一个实例,即使它未在此处列出。
- 返回:
-
一个
MBeanConstructorInfo对象数组。
-
getNotifications
返回由MBean发出的通知列表。每个通知由一个MBeanNotificationInfo对象描述。返回的数组是内部数组的浅拷贝,这意味着它是对MBeanNotificationInfo对象的内部数组引用的副本,但是每个引用的MBeanNotificationInfo对象并没有被复制。- 返回:
-
一个
MBeanNotificationInfo对象数组。
-
getDescriptor
获取此MBeanInfo的描述符。更改返回值不会影响原始描述符。- 指定者:
-
getDescriptor在接口DescriptorRead - 返回:
- 一个不可变或原始描述符的副本。
- 自:
- 1.6
-
equals
将此MBeanInfo与另一个进行比较。当且仅当两个MBeanInfo对象对于
getClassName()、getDescription()和getDescriptor()返回相等值,并且两个对象返回的数组对于getAttributes()、getOperations()、getConstructors()和getNotifications()是成对相等时,两个MBeanInfo对象才相等。这里的“相等”指的是Object.equals(Object),而不是身份。如果两个MBeanInfo对象在它们的数组中返回相同的值,但顺序不同,则它们不相等。
-