Spec-Zone.ru › OpenJDK 24

Интерфейс ModelMBeanInfo

Все известные реализующие классы:
ModelMBeanInfoSupport
public interface ModelMBeanInfo
Этот интерфейс реализуется классом ModelMBeanInfo для каждого ModelMBean. Реализация этого интерфейса должна быть включена в каждый JMX Agent.

Java-ресурсы, желающие быть управляемыми, создают экземпляр ModelMBean, используя метод createMBean сервера MBeanServer. Затем ресурс устанавливает ModelMBeanInfo и Descriptors для экземпляра ModelMBean. Атрибуты, операции и уведомления, экспонированные через ModelMBeanInfo для ModelMBean, составляют интерфейс управления и доступны из MBean, коннекторов/адаптеров, как и другие MBean. С помощью Descriptors можно определять и сопоставлять значения и методы в управляемом приложении с атрибутами и операциями ModelMBean. Это сопоставление можно определить во время разработки в файле или динамически и программно во время выполнения.

Каждый ModelMBean, созданный в MBeanServer, становится управляемым: его атрибуты, операции и уведомления становятся удаленно доступными через коннекторы/адаптеры, подключенные к этому MBeanServer. Объект Java не может быть зарегистрирован в MBeanServer, если он не является совместимым с JMX MBean. Создавая экземпляр ModelMBean, ресурсы гарантируют, что MBean является допустимым. MBeanException и RuntimeOperationsException должны выбрасываться при каждом публичном методе. Это позволяет обрабатывать исключения из распределённых коммуникаций (RMI, EJB и т.д.).

С:
1.5

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

Модификатор и тип Метод Описание
Object clone()
Создаёт и возвращает копию этого объекта.
ModelMBeanAttributeInfo getAttribute(String inName)
Возвращает ModelMBeanAttributeInfo, запрошенный по имени.
MBeanAttributeInfo[] getAttributes()
Возвращает список атрибутов, экспонированных для управления.
String getClassName()
Возвращает имя Java-класса MBean, описанного этим MBeanInfo.
MBeanConstructorInfo[] getConstructors()
Возвращает список публичных конструкторов MBean.
String getDescription()
Возвращает удобочитаемое описание MBean.
Descriptor getDescriptor(String inDescriptorName, String inDescriptorType)
Возвращает Descriptor, запрошенный по имени и типу descriptorType.
Descriptor[] getDescriptors(String inDescriptorType)
Возвращает массив Descriptor, содержащий все Descriptors для ModelMBeanInfo типа inDescriptorType.
Descriptor getMBeanDescriptor()
Возвращает descriptor ModelMBean, содержащий политики уровня MBean.
ModelMBeanNotificationInfo getNotification(String inName)
Возвращает ModelMBeanNotificationInfo, запрошенный по имени.
MBeanNotificationInfo[] getNotifications()
Возвращает список уведомлений, излучаемых MBean.
ModelMBeanOperationInfo getOperation(String inName)
Возвращает ModelMBeanOperationInfo, запрошенный по имени.
MBeanOperationInfo[] getOperations()
Возвращает список операций MBean.
void setDescriptor(Descriptor inDescriptor, String inDescriptorType)
Устанавливает descriptors в массив info типа inDescriptorType для ModelMBean.
void setDescriptors(Descriptor[] inDescriptors)
Добавляет или заменяет descriptors в ModelMBeanInfo.
void setMBeanDescriptor(Descriptor inDescriptor)
Устанавливает descriptor ModelMBean.

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

getDescriptors

Descriptor[] getDescriptors(String inDescriptorType) throws MBeanException, RuntimeOperationsException
Возвращает массив Descriptor, содержащий все Descriptors для ModelMBeanInfo типа inDescriptorType.
Параметры:
inDescriptorType - значение поля descriptorType, которое должно быть установлено для возвращаемого дескриптора. Должно быть "mbean", "attribute", "operation", "constructor" или "notification". Если оно равно null или пустое, то будут возвращены все типы.
Возвращает:
Массив Descriptor, содержащий все дескрипторы для ModelMBean типа inDescriptorType.
Исключения:
MBeanException - Оборачивает исключение распределенной связи.
RuntimeOperationsException - Оборачивает исключение IllegalArgumentException, когда descriptorType в параметре не является одним из: "mbean", "attribute", "operation", "constructor", "notification", пустым или null.
См. также:
  • setDescriptors(javax.management.Descriptor[])

setDescriptors

void setDescriptors(Descriptor[] inDescriptors) throws MBeanException, RuntimeOperationsException
Добавляет или заменяет дескрипторы в ModelMBeanInfo.
Параметры:
inDescriptors - Дескрипторы, которые нужно установить в ModelMBeanInfo. Нулевые элементы списка будут проигнорированы. Все дескрипторы должны иметь поля name и descriptorType.
Исключения:
RuntimeOperationsException - Оборачивает исключение IllegalArgumentException для null или некорректного дескриптора.
MBeanException - Оборачивает исключение распределенной связи.
См. также:
  • getDescriptors(java.lang.String)

getDescriptor

Descriptor getDescriptor(String inDescriptorName, String inDescriptorType) throws MBeanException, RuntimeOperationsException
Возвращает запрашиваемый дескриптор по имени и типу.
Параметры:
inDescriptorName - Имя дескриптора.
inDescriptorType - Тип запрашиваемого дескриптора. Если он null или пустой, то ищутся все типы. Допустимые типы: 'mbean', 'attribute', 'constructor' 'operation' и 'notification'. Это значение будет равно полю 'descriptorType' возвращаемого дескриптора.
Возвращает:
Дескриптор, содержащий дескриптор для ModelMBean с таким же именем и типом. Если дескриптор не найден, возвращается null.
Исключения:
MBeanException - Оборачивает исключение распределенной связи.
RuntimeOperationsException - Оборачивает исключение IllegalArgumentException для null имени дескриптора или null или некорректного типа. Тип должен быть "mbean","attribute", "constructor", "operation" или "notification".
См. также:
  • setDescriptor(javax.management.Descriptor, java.lang.String)

setDescriptor

void setDescriptor(Descriptor inDescriptor, String inDescriptorType) throws MBeanException, RuntimeOperationsException
Устанавливает дескрипторы в массив info типа inDescriptorType для ModelMBean. Метод setDescriptor соответствующего ModelMBean*Info будет вызван для установки указанного дескриптора.
Параметры:
inDescriptor - Дескриптор, который нужно установить в ModelMBean. Он НЕ должен быть null. Все дескрипторы должны иметь поля name и descriptorType.
inDescriptorType - Тип устанавливаемого дескриптора. Если это null, используется поле descriptorType в дескрипторе. Если указано, это значение должно быть установлено в поле descriptorType в дескрипторе. Должно быть "mbean","attribute", "constructor", "operation" или "notification".
Исключения:
RuntimeOperationsException - Оборачивает исключение IllegalArgumentException для недопустимых или null аргументов или если поле name дескриптора не найдено в соответствующем MBeanAttributeInfo или MBeanConstructorInfo или MBeanNotificationInfo или MBeanOperationInfo.
MBeanException - Оборачивает исключение распределенной связи.
См. также:
  • getDescriptor(java.lang.String, java.lang.String)

getMBeanDescriptor

Descriptor getMBeanDescriptor() throws MBeanException, RuntimeOperationsException

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

Поля в дескрипторе определены, но не ограничиваются следующими. Обратите внимание, что когда Тип в этой таблице равен Число, можно также использовать строку, которая является десятичным представлением Long.

Поля ModelMBean
Имя Тип Значение
name String Имя MBean.
descriptorType String Должно быть "mbean".
displayName String Имя MBean, используемое в отображениях.
persistPolicy String Один из: OnUpdate|OnTimer|NoMoreOftenThan|OnUnregister|Always|Never. См. раздел «Поля дескриптора MBean» в документе спецификации JMX.
persistLocation String Полное имя каталога, в котором должен быть сохранён MBean (если это уместно).
persistFile String Имя файла, в который должен быть сохранён MBean.
persistPeriod Число Частота цикла сохранения в секундах для политики сохранения OnTime и NoMoreOftenThan.
currencyTimeLimit Число Срок действия кэшированного значения: <0 никогда, =0 всегда, >0 секунд.
log String t: регистрировать все уведомления, f: не регистрировать уведомления.
logfile String Полное имя файла для записи событий.
visibility Число 1-4, где 1: всегда видимый, 4: редко видимый.
export String Имя, используемое для экспорта/раскрытия этого MBean для поиска другими агентами JMX.
presentationString String Строка в формате XML для отображения данных, связанных с MBean.

По умолчанию дескриптор: name=className,descriptorType="mbean", displayName=className, persistPolicy="never",log="F",visibility="1". Если дескриптор не содержит всех этих полей, они будут добавлены с этими значениями по умолчанию.

Примечание: из-за несоответствий в предыдущих версиях этой спецификации рекомендуется не использовать отрицательные или нулевые значения для currencyTimeLimit. Чтобы указать, что кэшированное значение никогда не действует, опустите поле currencyTimeLimit. Чтобы указать, что оно всегда действует, используйте очень большое число для этого поля.

Возвращает:
дескриптор MBean.
Исключения:
MBeanException - Оборачивает исключение распределенной связи.
RuntimeOperationsException - произошла ошибка RuntimeException при получении дескриптора.
См. также:
  • setMBeanDescriptor(javax.management.Descriptor)

setMBeanDescriptor

void setMBeanDescriptor(Descriptor inDescriptor) throws MBeanException, RuntimeOperationsException
Устанавливает дескриптор ModelMBean. Этот дескриптор содержит метаданные по умолчанию, относящиеся ко всему MBean, и политики по умолчанию для сохранения и кэширования. Эта операция выполняет полную замену дескриптора, никакое слияние не выполняется. Если устанавливаемый дескриптор равен null, будет создан дескриптор по умолчанию. Дескриптор по умолчанию: name=className,descriptorType="mbean", displayName=className, persistPolicy="never",log="F",visibility="1". Если дескриптор не содержит всех этих полей, они будут добавлены с этими значениями по умолчанию. См. javadoc метода getMBeanDescriptor для описания допустимых имён полей.
Параметры:
inDescriptor - устанавливаемый дескриптор.
Исключения:
MBeanException - Оборачивает исключение распределенной связи.
RuntimeOperationsException - Оборачивает исключение IllegalArgumentException для недопустимого дескриптора.
См. также:
  • getMBeanDescriptor()

getAttribute

ModelMBeanAttributeInfo getAttribute(String inName) throws MBeanException, RuntimeOperationsException
Возвращает ModelMBeanAttributeInfo, запрошенный по имени.
Параметры:
inName - Имя ModelMBeanAttributeInfo, которое нужно получить. Если для этого имени не существует ModelMBeanAttributeInfo, возвращается null.
Возвращает:
информацию об атрибуте с заданным именем, или null, если её нет.
Исключения:
MBeanException - Оборачивает исключение распределенной связи.
RuntimeOperationsException - Оборачивает исключение IllegalArgumentException для null имени атрибута.

getOperation

ModelMBeanOperationInfo getOperation(String inName) throws MBeanException, RuntimeOperationsException
Возвращает ModelMBeanOperationInfo, запрошенный по имени.
Параметры:
inName - Имя ModelMBeanOperationInfo, которое нужно получить. Если для этого имени не существует ModelMBeanOperationInfo, возвращается null.
Возвращает:
информацию об операции с заданным именем, или null, если её нет.
Исключения:
MBeanException - Оборачивает исключение распределенной связи.
RuntimeOperationsException - Оборачивает исключение IllegalArgumentException для null имени операции.

getNotification

ModelMBeanNotificationInfo getNotification(String inName) throws MBeanException, RuntimeOperationsException
Возвращает ModelMBeanNotificationInfo, запрошенный по имени.
Parameters:
inName - Имя ModelMBeanNotificationInfo для получения. Если ModelMBeanNotificationInfo с таким именем не существует, возвращается null.
Returns:
информация о уведомлении с заданным именем, или null, если её нет.
Throws:
MBeanException - Оборачивает исключение распределённой коммуникации.
RuntimeOperationsException - Оборачивает IllegalArgumentException для null имени уведомления.

clone

Object clone()
Создаёт и возвращает копию этого объекта.
Returns:
копия этого объекта

getAttributes

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

getClassName

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

getConstructors

MBeanConstructorInfo[] getConstructors()
Возвращает список публичных конструкторов MBean. Каждый конструктор описывается объектом MBeanConstructorInfo.
Returns:
Массив объектов MBeanConstructorInfo.

getDescription

String getDescription()
Возвращает удобочитаемое описание MBean.
Returns:
описание.

getNotifications

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

В дополнение к любому уведомлению, указанному приложением, ModelMBean всегда может отправлять также два дополнительных уведомления:

  • Одно с именем дескриптора "GENERIC" и отображаемым именем "jmx.modelmbean.generic"
  • Второе — стандартное уведомление об изменении атрибута с именем дескриптора "ATTRIBUTE_CHANGE" и отображаемым именем "jmx.attribute.change"
Таким образом, любая реализация ModelMBeanInfo должна всегда добавлять эти два уведомления в дополнение к тем, которые указаны приложением.
Returns:
Массив объектов MBeanNotificationInfo.

getOperations

MBeanOperationInfo[] getOperations()
Возвращает список операций MBean. Каждая операция описывается объектом MBeanOperationInfo.
Returns:
Массив объектов MBeanOperationInfo.

© 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.
https://download.java.net/java/early_access/jdk24/docs/api/java.management/javax/management/modelmbean/ModelMBeanInfo.html

Spec-Zone.ru

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