Интерфейс ModelMBeanInfo
- Все известные реализующие классы:
ModelMBeanInfoSupport
public interface ModelMBeanInfo
Java-ресурсы, желающие быть управляемыми, инициализируют ModelMBean с помощью метода createMBean сервера MBeanServer. Затем ресурс устанавливает ModelMBeanInfo и Descriptors для экземпляра ModelMBean. Атрибуты, операции и уведомления, экспонируемые через ModelMBeanInfo для ModelMBean, составляют интерфейс управления и доступны из MBeans, соединителей/адаптеров, как и другие MBeans. С помощью 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 Descriptor. |
Descriptor[] |
getDescriptors |
Возвращает массив Descriptors, содержащий все 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 и политики по умолчанию для сохранения и кэширования.
Поля в дескрипторе определены, но не ограничиваются следующими. Обратите внимание, что когда Тип в этой таблице является Number, можно также использовать строку, которая является десятичным представлением 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
- Параметры:
-
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, 2023, 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/21/docs/api/java.management/javax/management/modelmbean/ModelMBeanInfo.html