Spec-Zone.ru › OpenJDK 27

Класс 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 MBean и Model MBean, которые являются разновидностями динамических 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.
MBeanInfo(String className, String description, MBeanAttributeInfo[] attributes, MBeanConstructorInfo[] constructors, MBeanOperationInfo[] operations, MBeanNotificationInfo[] notifications, Descriptor descriptor)
Создает MBeanInfo.

Краткое описание методов

Модификатор и тип Метод Описание
Object clone()
Возвращает поверхностную копию этого экземпляра.
boolean equals(Object o)
Сравнивает этот MBeanInfo с другим.
MBeanAttributeInfo[] getAttributes()
Возвращает список атрибутов, предоставляемых для управления.
String getClassName()
Возвращает имя класса Java MBean, описанного этим MBeanInfo.
MBeanConstructorInfo[] getConstructors()
Возвращает список открытых конструкторов MBean.
String getDescription()
Возвращает понятное человеку описание MBean.
Descriptor getDescriptor()
Возвращает дескриптор этого MBeanInfo.
MBeanNotificationInfo[] getNotifications()
Возвращает список уведомлений, отправляемых MBean.
MBeanOperationInfo[] getOperations()
Возвращает список операций MBean.

Методы, объявленные в классе Object

finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Модификатор и тип Метод Описание
protected void finalize()
Устарело, подлежит удалению: этот элемент API подлежит удалению в будущей версии.
Финализация устарела и подлежит удалению в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
int hashCode()
Возвращает значение хеш-кода для этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
String toString()
Возвращает строковое представление объекта.
final void wait()
Заставляет текущий поток ожидать пробуждения, обычно в результате уведомления или прерывания.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно в результате уведомления или прерывания, либо истечения определенного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно в результате уведомления или прерывания, либо истечения определенного промежутка реального времени.

Подробное описание конструкторов

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 — понятное человеку описание 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 — имя класса Java MBean, описанного этим MBeanInfo. Это значение может быть любым синтаксически допустимым именем класса Java. Оно не обязательно должно соответствовать классу Java, известному серверу MBean или загрузчику классов MBean. Если это класс Java, известный загрузчику классов MBean, рекомендуется, но не требуется, чтобы открытые методы этого класса включали методы, которые были бы представлены в стандартном MBean, реализующем атрибуты и операции этого MBeanInfo.
description — понятное человеку описание MBean (необязательно).
attributes — список атрибутов MBean, предоставляемых для управления. Может иметь значение null, что эквивалентно массиву нулевой длины.
constructors — список открытых конструкторов MBean. Может иметь значение null, что эквивалентно массиву нулевой длины.
operations — список операций MBean. Может иметь значение null, что эквивалентно массиву нулевой длины.
notifications — список отправляемых уведомлений. Может иметь значение null, что эквивалентно массиву нулевой длины.
descriptor — дескриптор для MBean. Может иметь значение null, что эквивалентно пустому дескриптору.
Вызывает исключение:
IllegalArgumentException
Начиная с версии:
1.6

Подробное описание методов

clone

public Object clone()

Возвращает поверхностную копию этого экземпляра. Копия создается простым вызовом super.clone(), то есть стандартного собственного механизма поверхностного клонирования, реализованного в Object.clone(). Более глубокое копирование каких-либо внутренних полей не выполняется.

Поскольку этот класс неизменяем, метод clone представляет интерес главным образом для подклассов.

Переопределяет:
clone в классе Object
Возвращает:
копию этого экземпляра.
См. также:
  • Cloneable

getClassName

public String getClassName()
Возвращает имя класса Java MBean, описанного этим MBeanInfo.
Возвращает:
имя класса.

getDescription

public String getDescription()
Возвращает понятное человеку описание MBean.
Возвращает:
описание.

getAttributes

public MBeanAttributeInfo[] getAttributes()
Возвращает список атрибутов, предоставляемых для управления. Каждый атрибут описывается объектом MBeanAttributeInfo. Возвращаемый массив является поверхностной копией внутреннего массива: копируется внутренний массив ссылок на объекты MBeanAttributeInfo, но каждый объект MBeanAttributeInfo, на который ссылается массив, не копируется.
Возвращает:
массив объектов MBeanAttributeInfo.

getOperations

public MBeanOperationInfo[] getOperations()
Возвращает список операций MBean. Каждая операция описывается объектом MBeanOperationInfo. Возвращаемый массив является поверхностной копией внутреннего массива: копируется внутренний массив ссылок на объекты MBeanOperationInfo, но каждый объект MBeanOperationInfo, на который ссылается массив, не копируется.
Возвращает:
массив объектов MBeanOperationInfo.

getConstructors

public MBeanConstructorInfo[] getConstructors()

Возвращает список открытых конструкторов MBean. Каждый конструктор описывается объектом MBeanConstructorInfo.

Возвращаемый массив является поверхностной копией внутреннего массива: копируется внутренний массив ссылок на объекты MBeanConstructorInfo, но каждый объект MBeanConstructorInfo, на который ссылается массив, не копируется.

Возвращаемый список не обязательно является исчерпывающим. Это означает, что у MBean может быть открытый конструктор, отсутствующий в списке. В этом случае сервер MBean может создать другой экземпляр класса этого MBean с помощью такого конструктора, даже если он здесь не указан.

Возвращает:
массив объектов MBeanConstructorInfo.

getNotifications

public MBeanNotificationInfo[] getNotifications()
Возвращает список уведомлений, отправляемых MBean. Каждое уведомление описывается объектом 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

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторское право © 1993, 2026, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, 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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API