Интерфейс ModelMBeanInfo
- Все известные реализующие классы:
ModelMBeanInfoSupport
public interface ModelMBeanInfo
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 |
Возвращает ModelMBeanAttributeInfo, запрошенный по имени. |
MBeanAttributeInfo[] |
getAttributes() |
Возвращает список атрибутов, экспонированных для управления. |
String |
getClassName() |
Возвращает имя Java-класса MBean, описанного этим MBeanInfo. |
MBeanConstructorInfo[] |
getConstructors() |
Возвращает список публичных конструкторов MBean. |
String |
getDescription() |
Возвращает удобочитаемое описание MBean. |
Descriptor |
getDescriptor |
Возвращает Descriptor, запрошенный по имени и типу descriptorType. |
Descriptor[] |
getDescriptors |
Возвращает массив Descriptor, содержащий все Descriptors для ModelMBeanInfo типа inDescriptorType. |
Descriptor |
getMBeanDescriptor() |
Возвращает descriptor ModelMBean, содержащий политики уровня MBean. |
ModelMBeanNotificationInfo |
getNotification |
Возвращает ModelMBeanNotificationInfo, запрошенный по имени. |
MBeanNotificationInfo[] |
getNotifications() |
Возвращает список уведомлений, излучаемых MBean. |
ModelMBeanOperationInfo |
getOperation |
Возвращает ModelMBeanOperationInfo, запрошенный по имени. |
MBeanOperationInfo[] |
getOperations() |
Возвращает список операций MBean. |
void |
setDescriptor |
Устанавливает descriptors в массив info типа inDescriptorType для ModelMBean. |
void |
setDescriptors |
Добавляет или заменяет descriptors в ModelMBeanInfo. |
void |
setMBeanDescriptor |
Устанавливает descriptor ModelMBean. |
Подробное описание методов
getDescriptors
Descriptor[] getDescriptors(String inDescriptorType) throws MBeanException, RuntimeOperationsException
- Параметры:
-
inDescriptorType- значение поля descriptorType, которое должно быть установлено для возвращаемого дескриптора. Должно быть "mbean", "attribute", "operation", "constructor" или "notification". Если оно равно null или пустое, то будут возвращены все типы. - Возвращает:
- Массив Descriptor, содержащий все дескрипторы для ModelMBean типа inDescriptorType.
- Исключения:
-
MBeanException- Оборачивает исключение распределенной связи. -
RuntimeOperationsException- Оборачивает исключение IllegalArgumentException, когда descriptorType в параметре не является одним из: "mbean", "attribute", "operation", "constructor", "notification", пустым или null. - См. также:
setDescriptors
void setDescriptors(Descriptor[] inDescriptors) throws MBeanException, RuntimeOperationsException
- Параметры:
-
inDescriptors- Дескрипторы, которые нужно установить в ModelMBeanInfo. Нулевые элементы списка будут проигнорированы. Все дескрипторы должны иметь поля 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 с таким же именем и типом. Если дескриптор не найден, возвращается 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 и политики по умолчанию для сохранения и кэширования.
Поля в дескрипторе определены, но не ограничиваются следующими. Обратите внимание, что когда Тип в этой таблице равен Число, можно также использовать строку, которая является десятичным представлением Long.
| Имя | Тип | Значение |
|---|---|---|
| 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
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
- 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()
MBeanInfo.- Returns:
- имя Java-класса.
getConstructors
MBeanConstructorInfo[] getConstructors()
MBeanConstructorInfo.- Returns:
- Массив объектов
MBeanConstructorInfo.
getDescription
String getDescription()
- Returns:
- описание.
getNotifications
MBeanNotificationInfo[] getNotifications()
MBeanNotificationInfo. В дополнение к любому уведомлению, указанному приложением, ModelMBean всегда может отправлять также два дополнительных уведомления:
- Одно с именем дескриптора "GENERIC" и отображаемым именем "jmx.modelmbean.generic"
- Второе — стандартное уведомление об изменении атрибута с именем дескриптора "ATTRIBUTE_CHANGE" и отображаемым именем "jmx.attribute.change"
- Returns:
- Массив объектов
MBeanNotificationInfo.
getOperations
MBeanOperationInfo[] getOperations()
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