Интерфейс ModelMBeanInfo
- Все известные реализующие классы:
ModelMBeanInfoSupport
public interface ModelMBeanInfo
Java-ресурсы, желающие быть управляемыми, инициализируют ModelMBean с помощью метода createMBean сервера MBean. Затем ресурс устанавливает ModelMBeanInfo и Descriptors для экземпляра ModelMBean. Атрибуты, операции и уведомления, доступные через ModelMBeanInfo для ModelMBean, составляют интерфейс управления и доступны из MBeans, коннекторов/адаптеров, таких как другие MBeans. С помощью Descriptors можно определять и сопоставлять значения и методы в управляемом приложении с атрибутами и операциями ModelMBean. Это сопоставление может быть определено во время разработки в файле или динамически и программно во время выполнения.
Каждый ModelMBean, который инициализирован в сервере MBean, становится управляемым: его атрибуты, операции и уведомления становятся удалённо доступными через коннекторы/адаптеры, подключенные к этому серверу MBean. Объект Java не может быть зарегистрирован в сервере MBean, если он не является совместимым с 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[] |
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 | Строка | Имя MBean. |
| descriptorType | Строка | Должно быть "mbean". |
| displayName | Строка | Имя MBean для использования в отображениях. |
| persistPolicy | Строка | Один из: OnUpdate|OnTimer|NoMoreOftenThan|OnUnregister|Always|Never. См. раздел "Поля дескриптора MBean" в документе спецификации JMX. |
| persistLocation | Строка | Полное имя каталога, в котором должен сохраняться MBean (если применимо). |
| persistFile | Строка | Имя файла, в который должен сохраняться MBean. |
| persistPeriod | Число | Частота цикла сохранения в секундах для persistPolicy OnTime и NoMoreOftenThan. |
| currencyTimeLimit | Число | Время действия кэшированного значения: <0 никогда, =0 всегда, >0 секунд. |
| log | Строка | t: регистрировать все уведомления, f: не регистрировать уведомления. |
| logfile | Строка | Полное имя файла для регистрации событий. |
| visibility | Число | 1-4, где 1: всегда видимый, 4: редко видимый. |
| export | Строка | Имя для экспорта/экспонирования этого MBean, чтобы его могли найти другие агенты JMX. |
| presentationString | Строка | Строка в формате 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, 2021, 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/17/docs/api/java.management/javax/management/modelmbean/ModelMBeanInfo.html