Интерфейс ModelMBeanInfo
- Все известные реализующие классы:
ModelMBeanInfoSupport
public interface ModelMBeanInfo
Ресурсы 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 |
Возвращает ModelMBeanAttributeInfo, запрошенный по имени. |
MBeanAttributeInfo[] |
getAttributes() |
Возвращает список атрибутов, предоставляемых для управления. |
String |
getClassName() |
Возвращает имя класса Java для MBean, описанного этим MBeanInfo. |
MBeanConstructorInfo[] |
getConstructors() |
Возвращает список открытых конструкторов MBean. |
String |
getDescription() |
Возвращает понятное человеку описание MBean. |
Descriptor |
getDescriptor |
Возвращает дескриптор, запрошенный по имени и descriptorType. |
Descriptor[] |
getDescriptors |
Возвращает массив дескрипторов, состоящий из всех дескрипторов ModelMBeanInfo типа inDescriptorType. |
Descriptor |
getMBeanDescriptor() |
Возвращает дескриптор ModelMBean, содержащий политики уровня MBean. |
ModelMBeanNotificationInfo |
getNotification |
Возвращает ModelMBeanNotificationInfo, запрошенный по имени. |
MBeanNotificationInfo[] |
getNotifications() |
Возвращает список уведомлений, отправляемых MBean. |
ModelMBeanOperationInfo |
getOperation |
Возвращает ModelMBeanOperationInfo, запрошенный по имени. |
MBeanOperationInfo[] |
getOperations() |
Возвращает список операций MBean. |
void |
setDescriptor |
Задаёт дескрипторы в массиве сведений типа inDescriptorType для ModelMBean. |
void |
setDescriptors |
Добавляет или заменяет дескрипторы в ModelMBeanInfo. |
void |
setMBeanDescriptor |
Задаёт дескриптор ModelMBean. |
Подробное описание методов
getDescriptors
Descriptor[] getDescriptors(String inDescriptorType) throws MBeanException, RuntimeOperationsException
- Параметры:
-
inDescriptorType— значение поля descriptorType, которое должно быть задано в дескрипторе, чтобы он был возвращён. Должно быть равно "mbean", "attribute", "operation", "constructor" или "notification". Если значение равно null или пусто, будут возвращены все типы. - Возвращает:
- Массив дескрипторов, содержащий все дескрипторы ModelMBean, если тип — inDescriptorType.
- Выбрасывает:
-
MBeanException— оборачивает исключение распределённого взаимодействия. -
RuntimeOperationsException— оборачивает IllegalArgumentException, если параметр descriptorType не равен одному из значений: "mbean", "attribute", "operation", "constructor", "notification", пустая строка или null. - См. также:
setDescriptors
void setDescriptors(Descriptor[] inDescriptors) throws MBeanException, RuntimeOperationsException
- Параметры:
-
inDescriptors— дескрипторы, которые требуется задать в ModelMBeanInfo. Элементы списка со значением null игнорируются. Все дескрипторы должны содержать поля name и descriptorType. - Выбрасывает:
-
RuntimeOperationsException— оборачивает IllegalArgumentException для дескриптора со значением null или недопустимого дескриптора. -
MBeanException— оборачивает исключение распределённого взаимодействия. - См. также:
getDescriptor
Descriptor getDescriptor(String inDescriptorName, String inDescriptorType) throws MBeanException, RuntimeOperationsException
- Параметры:
-
inDescriptorName— имя дескриптора. -
inDescriptorType— тип запрашиваемого дескриптора. Если значение равно null или пусто, выполняется поиск по всем типам. Допустимые типы: 'mbean', 'attribute', 'constructor', 'operation' и 'notification'. Это значение будет соответствовать полю 'descriptorType' возвращённого дескриптора. - Возвращает:
- Дескриптор, содержащий дескриптор ModelMBean с теми же именем и descriptorType. Если дескриптор не найден, возвращается null.
- Выбрасывает:
-
MBeanException— оборачивает исключение распределённого взаимодействия. -
RuntimeOperationsException— оборачивает IllegalArgumentException для имени дескриптора со значением null либо для типа со значением null или недопустимого типа. Тип должен быть равен "mbean", "attribute", "constructor", "operation" или "notification". - См. также:
setDescriptor
void setDescriptor(Descriptor inDescriptor, String inDescriptorType) throws MBeanException, RuntimeOperationsException
- Параметры:
-
inDescriptor— дескриптор, который требуется задать в ModelMBean. Он НЕ должен быть равен null. Все дескрипторы должны содержать поля name и descriptorType. -
inDescriptorType— тип задаваемого дескриптора. Если значение равно null, используется поле descriptorType дескриптора. Если значение указано, оно должно быть задано в поле descriptorType дескриптора. Должно быть равно "mbean", "attribute", "constructor", "operation" или "notification". - Выбрасывает:
-
RuntimeOperationsException— оборачивает IllegalArgumentException для недопустимых аргументов или аргументов со значением null, а также если поле name дескриптора не найдено в соответствующем MBeanAttributeInfo, MBeanConstructorInfo, MBeanNotificationInfo или MBeanOperationInfo. -
MBeanException— оборачивает исключение распределённого взаимодействия. - См. также:
getMBeanDescriptor
Descriptor getMBeanDescriptor() throws MBeanException, RuntimeOperationsException
Возвращает дескриптор ModelMBean, содержащий политики уровня MBean. Этот дескриптор содержит метаданные о MBean и политики по умолчанию для сохранения и кэширования.
Поля дескриптора определены, но этот список не является исчерпывающим. Обратите внимание: если в столбце «Тип» указано Number, также можно использовать строку, содержащую десятичное представление Long.
| Имя | Тип | Значение |
|---|---|---|
| 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
void setMBeanDescriptor(Descriptor inDescriptor) throws MBeanException, RuntimeOperationsException
getMBeanDescriptor.- Параметры:
-
inDescriptor— дескриптор, который требуется задать. - Выбрасывает:
-
MBeanException— оборачивает исключение распределённого взаимодействия. -
RuntimeOperationsException— оборачивает IllegalArgumentException для недопустимого дескриптора. - См. также:
getAttribute
ModelMBeanAttributeInfo getAttribute(String inName) throws MBeanException, RuntimeOperationsException
- Параметры:
-
inName— имя ModelMBeanAttributeInfo, который требуется получить. Если ModelMBeanAttributeInfo с таким именем не существует, возвращается null. - Возвращает:
- сведения об атрибуте с указанным именем или null, если такого атрибута нет.
- Выбрасывает:
-
MBeanException— оборачивает исключение распределённого взаимодействия. -
RuntimeOperationsException— оборачивает IllegalArgumentException для имени атрибута со значением null.
getOperation
ModelMBeanOperationInfo getOperation(String inName) throws MBeanException, RuntimeOperationsException
- Параметры:
-
inName— имя ModelMBeanOperationInfo, который требуется получить. Если ModelMBeanOperationInfo с таким именем не существует, возвращается null. - Возвращает:
- сведения об операции с указанным именем или null, если такой операции нет.
- Выбрасывает:
-
MBeanException— оборачивает исключение распределённого взаимодействия. -
RuntimeOperationsException— оборачивает IllegalArgumentException для имени операции со значением null.
getNotification
ModelMBeanNotificationInfo getNotification(String inName) throws MBeanException, RuntimeOperationsException
- Параметры:
-
inName— имя ModelMBeanNotificationInfo, который требуется получить. Если ModelMBeanNotificationInfo с таким именем не существует, возвращается null. - Возвращает:
- сведения об уведомлении с указанным именем или null, если такого уведомления нет.
- Выбрасывает:
-
MBeanException— оборачивает исключение распределённого взаимодействия. -
RuntimeOperationsException— оборачивает IllegalArgumentException для имени уведомления со значением null.
clone
Object clone()
- Возвращает:
- копию этого объекта
getAttributes
MBeanAttributeInfo[] getAttributes()
MBeanAttributeInfo.- Возвращает:
- Массив объектов
MBeanAttributeInfo.
getClassName
String getClassName()
MBeanInfo.- Возвращает:
- имя класса Java.
getConstructors
MBeanConstructorInfo[] getConstructors()
MBeanConstructorInfo.- Возвращает:
- Массив объектов
MBeanConstructorInfo.
getDescription
String getDescription()
- Возвращает:
- описание.
getNotifications
MBeanNotificationInfo[] getNotifications()
MBeanNotificationInfo. Помимо любых уведомлений, заданных приложением, ModelMBean всегда может отправлять ещё два дополнительных уведомления:
- Первое — с именем дескриптора "GENERIC" и отображаемым именем "jmx.modelmbean.generic"
- Второе — стандартное уведомление об изменении атрибута с именем дескриптора "ATTRIBUTE_CHANGE" и отображаемым именем "jmx.attribute.change"
- Возвращает:
- Массив объектов
MBeanNotificationInfo.
getOperations
MBeanOperationInfo[] getOperations()
MBeanOperationInfo.- Возвращает:
- Массив объектов
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://docs.oracle.com/en/java/javase/25/docs/api/java.management/javax/management/modelmbean/ModelMBeanInfo.html