Spec-Zone.ru › OpenJDK 25

Интерфейс ModelMBeanInfo

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

Ресурсы Java, которыми требуется управлять, создают экземпляр ModelMBean с помощью метода createMBean интерфейса MBeanServer. Затем ресурс задаёт ModelMBeanInfo и дескрипторы для экземпляра ModelMBean. Атрибуты, операции и уведомления, предоставляемые через ModelMBeanInfo для ModelMBean, составляют интерфейс управления и доступны из MBean, соединителей/адаптеров, как и другие MBean. С помощью дескрипторов значения и методы управляемого приложения можно определить и сопоставить с атрибутами и операциями 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)
Возвращает дескриптор, запрошенный по имени и descriptorType.
Descriptor[] getDescriptors(String inDescriptorType)
Возвращает массив дескрипторов, состоящий из всех дескрипторов ModelMBeanInfo типа inDescriptorType.
Descriptor getMBeanDescriptor()
Возвращает дескриптор ModelMBean, содержащий политики уровня MBean.
ModelMBeanNotificationInfo getNotification(String inName)
Возвращает ModelMBeanNotificationInfo, запрошенный по имени.
MBeanNotificationInfo[] getNotifications()
Возвращает список уведомлений, отправляемых MBean.
ModelMBeanOperationInfo getOperation(String inName)
Возвращает ModelMBeanOperationInfo, запрошенный по имени.
MBeanOperationInfo[] getOperations()
Возвращает список операций MBean.
void setDescriptor(Descriptor inDescriptor, String inDescriptorType)
Задаёт дескрипторы в массиве сведений типа inDescriptorType для ModelMBean.
void setDescriptors(Descriptor[] inDescriptors)
Добавляет или заменяет дескрипторы в ModelMBeanInfo.
void setMBeanDescriptor(Descriptor inDescriptor)
Задаёт дескриптор ModelMBean.

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

getDescriptors

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

setDescriptors

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

getDescriptor

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

setDescriptor

void setDescriptor(Descriptor inDescriptor, String inDescriptorType) throws MBeanException, RuntimeOperationsException
Задаёт дескрипторы в массиве сведений типа 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(String, String)

getMBeanDescriptor

Descriptor getMBeanDescriptor() throws MBeanException, RuntimeOperationsException

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

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

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

setMBeanDescriptor

void setMBeanDescriptor(Descriptor inDescriptor) throws MBeanException, RuntimeOperationsException
Задаёт дескриптор ModelMBean. Этот дескриптор содержит метаданные по умолчанию уровня MBean и политики по умолчанию для сохранения и кэширования. Эта операция полностью заменяет дескриптор, слияние не выполняется. Если в качестве задаваемого дескриптора указано null, будет создан дескриптор по умолчанию. Дескриптор по умолчанию: name=className,descriptorType="mbean", displayName=className, persistPolicy="never",log="F",visibility="1". Если дескриптор не содержит все эти поля, они будут добавлены со значениями по умолчанию. Описание допустимых имён полей см. в документации метода 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, запрошенный по имени.
Параметры:
inName — имя ModelMBeanNotificationInfo, который требуется получить. Если ModelMBeanNotificationInfo с таким именем не существует, возвращается null.
Возвращает:
сведения об уведомлении с указанным именем или null, если такого уведомления нет.
Выбрасывает:
MBeanException — оборачивает исключение распределённого взаимодействия.
RuntimeOperationsException — оборачивает IllegalArgumentException для имени уведомления со значением null.

clone

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

getAttributes

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

getClassName

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

getConstructors

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

getDescription

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

getNotifications

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

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

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

getOperations

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

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторские права © 1993, 2025, 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.management/javax/management/modelmbean/ModelMBeanInfo.html

Spec-Zone.ru

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