Spec-Zone.ru › OpenJDK 8

Интерфейс ModelMBeanInfo

Все известные реализующие классы:
ModelMBeanInfoSupport

public interface ModelMBeanInfo

Этот интерфейс реализуется классом ModelMBeanInfo для каждого ModelMBean. Реализация этого интерфейса должна быть включена в каждый JMX Agent.

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, описываемого этим MBeanInfo.

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 и стандартные политики для сохранения и кэширования.

Поля в дескрипторе определены, но не ограничиваются следующими. Обратите внимание, что когда Тип в этой таблице — 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 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" Если дескриптор не содержит все эти поля, они будут добавлены со значениями по умолчанию. См. документацию метода 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"
Таким образом, любая реализация ModelMBeanInfo должна всегда добавлять эти два уведомления в дополнение к тем, которые указаны приложением.
Возвращает:
Массив объектов 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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API