Класс MBeanInfo
- Все реализованные интерфейсы:
-
Serializable,Cloneable,DescriptorRead
- Прямые известные подклассы:
-
ModelMBeanInfoSupport,OpenMBeanInfoSupport
public class MBeanInfo extends Object implements Cloneable, Serializable, DescriptorRead
Описывает интерфейс управления, предоставляемый MBean; то есть набор атрибутов и операций, доступных для операций управления. Экземпляры этого класса неизменяемы. Подклассы могут быть изменяемыми, но это не рекомендуется.
Обычно MBeanInfo для любого данного MBean не изменяется в течение всего срока службы этого MBean. Динамические MBean могут изменять свой MBeanInfo и в этом случае рекомендуется, чтобы они отправляли Notification с типом
"jmx.mbean.info.changed" и userData, которые являются новыми MBeanInfo. Это не обязательно, но предоставляет стандартный способ для клиентов MBean обнаруживать изменения. См. также поля immutableInfo и infoTimeout в
MBeanInfo Descriptor.
Содержимое MBeanInfo для динамического MBean определяется методом getMBeanInfo(). Это включает Open MBeans и Model MBeans, которые являются видами динамических MBean.
Содержимое MBeanInfo для стандартного MBean определяется сервером MBean следующим образом:
-
getClassName()возвращает имя Java-класса объекта MBean; -
getConstructors()возвращает список всех публичных конструкторов в этом объекте; -
getAttributes()возвращает список всех атрибутов, существование которых определяется наличием в интерфейсе MBeangetName,isName, илиsetNameметода, который соответствует соглашениям для стандартных MBean; -
getOperations()возвращает список всех методов в интерфейсе MBean, которые не представляют собой атрибуты; -
getNotifications()возвращает пустой массив, если MBean не реализует интерфейсNotificationBroadcaster, в противном случае результат вызоваNotificationBroadcaster.getNotificationInfo()на нем; -
getDescriptor()возвращает дескриптор, содержащий содержимое любых аннотаций дескрипторов в интерфейсе MBean (см.@DescriptorKey).
Описание, возвращаемое getDescription(), и описания содержащихся атрибутов и операций не определены.
Остальные подробности MBeanInfo для стандартного MBean не определены. Это включает описание любых содержащихся конструкторов и уведомлений; имена параметров конструкторов и операций; и описания параметров конструкторов.
- С:
- 1.5
- См. также:
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
MBeanInfo |
Конструирует MBeanInfo. |
MBeanInfo |
Конструирует MBeanInfo. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
Object |
clone() |
Возвращает неглубокую копию этого экземпляра. |
boolean |
equals |
Сравнивает этот MBeanInfo с другим. |
MBeanAttributeInfo[] |
getAttributes() |
Возвращает список атрибутов, доступных для управления. |
String |
getClassName() |
Возвращает имя Java-класса MBean, описанного этим MBeanInfo. |
MBeanConstructorInfo[] |
getConstructors() |
Возвращает список публичных конструкторов MBean. |
String |
getDescription() |
Возвращает удобочитаемое описание MBean. |
Descriptor |
getDescriptor() |
Получает дескриптор этого MBeanInfo. |
MBeanNotificationInfo[] |
getNotifications() |
Возвращает список уведомлений, отправляемых MBean. |
MBeanOperationInfo[] |
getOperations() |
Возвращает список операций MBean. |
Подробное описание конструкторов
MBeanInfo
public MBeanInfo(String className, String description, MBeanAttributeInfo[] attributes, MBeanConstructorInfo[] constructors, MBeanOperationInfo[] operations, MBeanNotificationInfo[] notifications) throws IllegalArgumentException
MBeanInfo. - Параметры:
-
className- Имя Java-класса управляемого объекта (MBean), описываемого этимMBeanInfo. Это значение может быть любым синтаксически корректным именем Java-класса. Оно не обязательно должно быть известно серверу MBean или ClassLoader этого управляемого объекта. Если это Java-класс, известный ClassLoader управляемого объекта, рекомендуется, но не обязательно, чтобы публичные методы этого класса включали те, которые отображались бы в Standard MBean, реализующем атрибуты и операции в этом MBeanInfo. -
description- Читабельное описание управляемого объекта (необязательно). -
attributes- Список раскрытых атрибутов управляемого объекта. Может быть null, что эквивалентно массиву нулевой длины. -
constructors- Список публичных конструкторов управляемого объекта. Может быть null, что эквивалентно массиву нулевой длины. -
operations- Список операций управляемого объекта. Может быть 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- Имя Java-класса управляемого объекта (MBean), описываемого этимMBeanInfo. Это значение может быть любым синтаксически корректным именем Java-класса. Оно не обязательно должно быть известно серверу MBean или ClassLoader этого управляемого объекта. Если это Java-класс, известный ClassLoader управляемого объекта, рекомендуется, но не обязательно, чтобы публичные методы этого класса включали те, которые отображались бы в Standard MBean, реализующем атрибуты и операции в этом MBeanInfo. -
description- Читабельное описание управляемого объекта (необязательно). -
attributes- Список раскрытых атрибутов управляемого объекта. Может быть null, что эквивалентно массиву нулевой длины. -
constructors- Список публичных конструкторов управляемого объекта. Может быть null, что эквивалентно массиву нулевой длины. -
operations- Список операций управляемого объекта. Может быть null, что эквивалентно массиву нулевой длины. -
notifications- Список испускаемых уведомлений. Может быть null, что эквивалентно массиву нулевой длины. -
descriptor- Дескриптор управляемого объекта. Может быть null, что эквивалентно пустому дескриптору. - Исключения:
IllegalArgumentException- С тех пор как:
- 1.6
Подробное описание методов
clone
public Object clone()
Возвращает неглубокую копию этого экземпляра. Копия получается путём простого вызова super.clone(), тем самым вызывая механизм неглубокого клонирования, реализованный по умолчанию Object.clone(). Никакое более глубокое клонирование внутренних полей не производится.
Поскольку этот класс неизменяем, метод clone в первую очередь интересен для подклассов.
- Переопределяет:
-
cloneв классеObject - Возвращает:
- копию этого экземпляра.
- См. также:
getClassName
public String getClassName()
MBeanInfo.- Возвращает:
- имя класса.
getDescription
public String getDescription()
- Возвращает:
- описание.
getAttributes
public MBeanAttributeInfo[] getAttributes()
MBeanAttributeInfo. Возвращаемый массив — это неглубокая копия внутреннего массива, то есть это копия внутреннего массива ссылок на объекты MBeanAttributeInfo, но каждый сохранённый объект MBeanAttributeInfo не копируется.- Возвращает:
- массив объектов
MBeanAttributeInfo.
getOperations
public MBeanOperationInfo[] getOperations()
MBeanOperationInfo. Возвращаемый массив — это неглубокая копия внутреннего массива, то есть это копия внутреннего массива ссылок на объекты MBeanOperationInfo, но каждый сохранённый объект MBeanOperationInfo не копируется.- Возвращает:
- массив объектов
MBeanOperationInfo.
getConstructors
public MBeanConstructorInfo[] getConstructors()
Возвращает список публичных конструкторов управляемого объекта. Каждый конструктор описывается объектом MBeanConstructorInfo.
Возвращаемый массив — это неглубокая копия внутреннего массива, то есть это копия внутреннего массива ссылок на объекты MBeanConstructorInfo, но каждый сохранённый объект MBeanConstructorInfo не копируется.
Возвращаемый список не обязательно исчерпывающий. То есть у управляемого объекта может быть публичный конструктор, который не включён в список. В этом случае сервер MBean может создать другой экземпляр класса этого управляемого объекта, используя этот конструктор, даже если он здесь не указан.
- Возвращает:
- массив объектов
MBeanConstructorInfo.
getNotifications
public MBeanNotificationInfo[] getNotifications()
MBeanNotificationInfo. Возвращаемый массив — это неглубокая копия внутреннего массива, то есть это копия внутреннего массива ссылок на объекты MBeanNotificationInfo, но каждый сохранённый объект MBeanNotificationInfo не копируется.- Возвращает:
- массив объектов
MBeanNotificationInfo.
getDescriptor
public Descriptor getDescriptor()
- Определяется в:
-
getDescriptorв интерфейсеDescriptorRead - Возвращает:
- дескриптор, который либо неизменяем, либо является копией оригинала.
- С тех пор как:
- 1.6
equals
public boolean equals(Object o)
Сравнивает этот MBeanInfo с другим. Два объекта MBeanInfo равны тогда и только тогда, когда они возвращают равные значения для getClassName(), для getDescription() и для getDescriptor(), и массивы, возвращаемые двумя объектами для getAttributes(), getOperations(), getConstructors() и getNotifications() попарно равны. Здесь "равны" означает Object.equals(Object), а не идентичность.
Если два объекта MBeanInfo возвращают одинаковые значения в одном из своих массивов, но в разном порядке, то они не равны.
- Переопределяет:
-
equalsв классеObject - Параметры:
-
o- объект для сравнения. - Возвращает:
- true, если и только если
oявляется MBeanInfo, равным этому объекту по вышеуказанным правилам. - См. также:
© 1993, 2021, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/17/docs/api/java.management/javax/management/MBeanInfo.html