- 所有已实现的接口:
Serializable
,Cloneable
,DescriptorRead
描述由 MBean 公开的管理接口;也就是说,可用于管理操作的一组属性和操作。此类的实例是不可变的。子类可能是可变的,但不推荐这样做。
通常任何给定 MBean 的 MBeanInfo
在该 MBean 的生命周期内都不会改变。动态 MBean 可以更改它们的 MBeanInfo
,在这种情况下,建议它们发出一个 Notification
,其中一个 type 为 "jmx.mbean.info.changed"
,一个 用户数据 是新的 MBeanInfo
。这不是必需的,但为 MBean 的客户端提供了一种发现更改的常规方法。另请参阅 MBeanInfo
Descriptor
中的 不可变信息 和 infoTimeout 字段。
Dynamic MBean 的 MBeanInfo
内容由其 getMBeanInfo()
方法确定。这包括 Open MBean 和 Model MBean,它们是 Dynamic MBean 的一种。
标准 MBean 的 MBeanInfo
内容由 MBean 服务确定,如下所示:
getClassName()
返回MBean对象的Java类名;getConstructors()
返回该对象中所有公共构造函数的列表;getAttributes()
返回所有属性的列表,这些属性的存在是从符合标准 MBean 约定的getName
、isName
或setName
方法的 MBean 接口中的存在推断出来的;getOperations()
返回MBean接口中所有不代表属性的方法的列表;- 如果 MBean 没有实现
NotificationBroadcaster
接口,getNotifications()
返回一个空数组,否则返回调用NotificationBroadcaster.getNotificationInfo()
的结果; getDescriptor()
返回一个描述符,其中包含 MBean 接口中任何描述符注释的内容(请参阅@DescriptorKey
)。
getDescription()
返回的描述和包含的属性和操作的描述没有指定。
未指定标准 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
。 -
方法总结
修饰符和类型方法描述clone()
返回此实例的浅表克隆。boolean
将此 MBeanInfo 与另一个进行比较。返回为管理而公开的属性列表。返回此MBeanInfo
描述的 MBean 的 Java 类的名称。返回 MBean 的公共构造方法列表。返回 MBean 的人类可读描述。获取此 MBeanInfo 的描述符。返回 MBean 发出的通知列表。返回 MBean 的操作列表。
-
构造方法详细信息
-
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 的类加载器已知的 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 的类加载器已知的 Java 类。如果它是 MBean 的 ClassLoader 已知的 Java 类,建议但不要求该类的公共方法包括那些将出现在实现此 MBeanInfo 中的属性和操作的标准 MBean 中的方法。description
- MBean 的人类可读描述(可选)。attributes
- MBean 的公开属性列表。这可能为 null,与零长度数组具有相同的效果。constructors
- MBean 的公共构造函数列表。这可能为 null,与零长度数组具有相同的效果。operations
- MBean 的操作列表。这可能为 null,与零长度数组具有相同的效果。notifications
- 发出的通知列表。这可能为 null,与零长度数组具有相同的效果。descriptor
- MBean 的描述符。这可能是空的,相当于一个空的描述符。- 抛出:
IllegalArgumentException
- 自从:
- 1.6
-
-
方法详情
-
clone
返回此实例的浅克隆。克隆是通过简单地调用
super.clone()
获得的,因此调用了Object.clone()
实现的默认本机浅克隆机制。没有对任何内部场进行更深层次的克隆。由于此类是不可变的,因此子类主要对 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()
返回的数组成对相等。这里“相等”的意思是Object.equals(Object)
,而不是同一性。如果两个 MBeanInfo 对象在其中一个数组中返回相同的值但顺序不同,则它们不相等。
-