Класс MBeanInfo
- java.lang.Object
-
- javax.management.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()возвращает список всех атрибутов, существование которых выводится из наличия в интерфейсе MBean методаgetName,isName, илиsetName, соответствующего соглашениям для стандартных MBean; -
getOperations()возвращает список всех методов в интерфейсе MBean, которые не представляют собой атрибуты; -
getNotifications()возвращает пустой массив, если MBean не реализует интерфейсNotificationBroadcaster, в противном случае результат вызоваNotificationBroadcaster.getNotificationInfo()на нём; -
getDescriptor()возвращает описатель, содержащий содержимое любых аннотаций описателя в интерфейсе MBean (см.@DescriptorKey).
Описание, возвращаемое getDescription(), и описания содержащихся атрибутов и операций не определены.
Остальные детали MBeanInfo для стандартного MBean не определены. Это включает описание любых содержащихся конструкторов и уведомлений; имена параметров конструкторов и операций; и описания параметров конструкторов.
- С:
- 1.5
- См. также:
- Сериализованная форма
Конструкторы
| Конструктор | Описание |
|---|---|
MBeanInfo(String className,
String description,
MBeanAttributeInfo[] attributes,
MBeanConstructorInfo[] constructors,
MBeanOperationInfo[] operations,
MBeanNotificationInfo[] notifications) | Создаёт |
MBeanInfo(String className,
String description,
MBeanAttributeInfo[] attributes,
MBeanConstructorInfo[] constructors,
MBeanOperationInfo[] operations,
MBeanNotificationInfo[] notifications,
Descriptor descriptor) | Создаёт |
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
Object | clone() | Возвращает поверхностную копию этого экземпляра. |
boolean | equals(Object o) | Сравнивает этот MBeanInfo с другим. |
MBeanAttributeInfo[] | getAttributes() | Возвращает список атрибутов, доступных для управления. |
String | getClassName() | Возвращает имя Java класса объекта MBean, описанного этим |
MBeanConstructorInfo[] | getConstructors() | Возвращает список публичных конструкторов MBean. |
String | getDescription() | Возвращает удобочитаемое описание MBean. |
Descriptor | getDescriptor() | Получить описатель этого MBeanInfo. |
MBeanNotificationInfo[] | getNotifications() | Возвращает список уведомлений, отправляемых MBean. |
MBeanOperationInfo[] | getOperations() | Возвращает список операций MBean. |
Методы, объявленные в классе java.lang.Object
finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait Конструкторы
MBeanInfo
public MBeanInfo(String className,
String description,
MBeanAttributeInfo[] attributes,
MBeanConstructorInfo[] constructors,
MBeanOperationInfo[] operations,
MBeanNotificationInfo[] notifications)
throws IllegalArgumentException Создаёт MBeanInfo.
- Параметры:
-
className- Имя Java-класса управляемого объекта (MBean), описываемого этимMBeanInfo. Это значение может быть любым синтаксически правильным именем Java-класса. Оно не обязательно должно быть Java-классом, известным серверу MBean или загрузчику классов MBean. Если это Java-класс, известный загрузчику классов MBean, рекомендуется, но не обязательно, чтобы общедоступные методы класса включали те, которые бы появились в стандартном 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-класса. Оно не обязательно должно быть Java-классом, известным серверу MBean или загрузчику классов MBean. Если это Java-класс, известный загрузчику классов MBean, рекомендуется, но не обязательно, чтобы общедоступные методы класса включали те, которые бы появились в стандартном 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 в основном интересен для подклассов.
getClassName
public String getClassName()
Возвращает имя Java-класса управляемого объекта (MBean), описываемого этим 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()
Получить дескриптор этого MBeanInfo. Изменение возвращаемого значения не повлияет на исходный дескриптор.
- Задано в:
-
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, равный этому в соответствии с вышеуказанными правилами. - См. также:
-
Object.hashCode(),HashMap
© 1993, 2020, 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/11/docs/api/java.management/javax/management/MBeanInfo.html