Интерфейс ModelMBeanInfo
- Все известные реализующие классы:
ModelMBeanInfoSupport
public interface ModelMBeanInfo
Этот интерфейс реализуется классом ModelMBeanInfo для каждого ModelMBean. Реализация этого интерфейса должна поставляться с каждым JMX агентом.
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(String inName) | Возвращает ModelMBeanAttributeInfo, запрошенный по имени. |
MBeanAttributeInfo[] | getAttributes() | Возвращает список атрибутов, экспонированных для управления. |
String | getClassName() | Возвращает имя Java класса MBean, описанного этим |
MBeanConstructorInfo[] | getConstructors() | Возвращает список публичных конструкторов MBean. |
String | getDescription() | Возвращает удобочитаемое описание MBean. |
Descriptor | getDescriptor(String inDescriptorName,
String inDescriptorType) | Возвращает Descriptor, запрошенный по имени и типу descriptorType. |
Descriptor[] | getDescriptors(String inDescriptorType) | Возвращает массив Descriptor, содержащий все Descriptors для ModelMBeanInfo типа inDescriptorType. |
Descriptor | getMBeanDescriptor() | Возвращает descriptor ModelMBean, содержащий политики MBean. |
ModelMBeanNotificationInfo | getNotification(String inName) | Возвращает ModelMBeanNotificationInfo, запрошенный по имени. |
MBeanNotificationInfo[] | getNotifications() | Возвращает список уведомлений, испускаемых MBean. |
ModelMBeanOperationInfo | getOperation(String inName) | Возвращает ModelMBeanOperationInfo, запрошенный по имени. |
MBeanOperationInfo[] | getOperations() | Возвращает список операций MBean. |
void | setDescriptor(Descriptor inDescriptor,
String inDescriptorType) | Устанавливает Descriptors в массив info типа inDescriptorType для ModelMBean. |
void | setDescriptors(Descriptor[] inDescriptors) | Добавляет или заменяет Descriptors в ModelMBeanInfo. |
void | setMBeanDescriptor(Descriptor inDescriptor) | Устанавливает descriptor ModelMBean. |
Методы
getDescriptors
Descriptor[] getDescriptors(String inDescriptorType)
throws MBeanException,
RuntimeOperationsException Возвращает массив Descriptors, содержащий все Descriptors для ModelMBeanInfo типа inDescriptorType.
- Параметры:
-
inDescriptorType- значение поля descriptorType, которое должно быть установлено для возвращаемого дескриптора. Должно быть "mbean", "attribute", "operation", "constructor" или "notification". Если оно null или пустое, будут возвращены все типы. - Возвращает:
- Массив Descriptor, содержащий все дескрипторы для ModelMBean типа inDescriptorType.
- Выбрасывает:
-
MBeanException- Оборачивает исключение распределённой коммуникации. -
RuntimeOperationsException- Оборачивает исключение IllegalArgumentException, когда значение параметра descriptorType не равно одному из: "mbean", "attribute", "operation", "constructor", "notification", пустое или null. - См. также:
setDescriptors(javax.management.Descriptor[])
setDescriptors
void setDescriptors(Descriptor[] inDescriptors)
throws MBeanException,
RuntimeOperationsException Добавляет или заменяет дескрипторы в ModelMBeanInfo.
- Параметры:
-
inDescriptors- Дескрипторы, которые нужно установить в ModelMBeanInfo. Нулевые элементы списка будут проигнорированы. Все дескрипторы должны иметь поля name и descriptorType. - Выбрасывает:
-
RuntimeOperationsException- Оборачивает исключение IllegalArgumentException для null или некорректного дескриптора. -
MBeanException- Оборачивает исключение распределённой коммуникации. - См. также:
getDescriptors(java.lang.String)
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(javax.management.Descriptor, java.lang.String)
setDescriptor
void setDescriptor(Descriptor inDescriptor,
String inDescriptorType)
throws MBeanException,
RuntimeOperationsException Устанавливает дескрипторы в массив info типа 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(java.lang.String, java.lang.String)
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 PersistPolicy |
| 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(javax.management.Descriptor)
setMBeanDescriptor
void setMBeanDescriptor(Descriptor inDescriptor)
throws MBeanException,
RuntimeOperationsException Устанавливает дескриптор ModelMBean. Этот дескриптор содержит метаданные глобальные для MBean и политики по умолчанию для сохранения и кэширования. Это операция полной замены дескриптора, слияние не выполняется. Если устанавливаемый дескриптор null, будет создан дескриптор по умолчанию. Дескриптор по умолчанию: name=className,descriptorType="mbean", displayName=className, persistPolicy="never",log="F",visibility="1" Если дескриптор не содержит всех этих полей, они будут добавлены со значениями по умолчанию. См. javadoc метода 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"
- Возвращает:
- Массив объектов
MBeanNotificationInfo.
getOperations
MBeanOperationInfo[] getOperations()
Возвращает список операций MBean. Каждая операция описывается объектом MBeanOperationInfo.
- Возвращает:
- Массив объектов
MBeanOperationInfo.
© 1993, 2020, 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/11/docs/api/java.management/javax/management/modelmbean/ModelMBeanInfo.html