- 所有已实现的接口:
-
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
ConstructorDescriptionMBeanInfo
(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对象在它们的数组中返回相同的值,但顺序不同,则它们不相等。
-