Класс ModelMBeanInfoSupport
- Все реализуемые интерфейсы:
-
Serializable,Cloneable,DescriptorRead,ModelMBeanInfo
public class ModelMBeanInfoSupport extends MBeanInfo implements ModelMBeanInfo
Java-ресурсы, желающие быть управляемыми, создают ModelMBean, используя метод createMBean сервера управления MBean. Ресурс затем задаёт ModelMBeanInfo и Описатели для экземпляра ModelMBean. Атрибуты и операции, доступные через ModelMBeanInfo для ModelMBean, доступны из MBeans, коннекторов/адаптеров, подобно другим MBeans. Через Описатели, значения и методы в управляемом приложении могут быть определены и сопоставлены с атрибутами и операциями ModelMBean. Это сопоставление может быть определено во время разработки в файле или динамически и программно во время выполнения.
Каждый ModelMBean, который создаётся на сервере управления MBean, становится управляемым: его атрибуты и операции становятся удалённо доступными через коннекторы/адаптеры, подключённые к этому серверу управления MBean. Java-объект не может быть зарегистрирован на сервере управления MBean, если он не является совместимым с JMX MBean. Создавая ModelMBean, ресурсы гарантируют, что MBean является корректным. MBeanException и RuntimeOperationsException должны быть выброшены при каждом публичном методе. Это позволяет обрабатывать исключения из распределённых коммуникаций (RMI, EJB и т. д.)
serialVersionUID этого класса равен -1935722590756516193L.
- С момента:
- 1.5
- См. также:
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
ModelMBeanInfoSupport |
Создаёт ModelMBeanInfoSupport с предоставленной информацией, но описатель — по умолчанию. |
ModelMBeanInfoSupport |
Создаёт ModelMBeanInfoSupport с предоставленной информацией и описателем, указанным в параметре. |
ModelMBeanInfoSupport |
Создаёт ModelMBeanInfoSupport, являющийся копией данного ModelMBeanInfo. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
Object |
clone() |
Возвращает неглубокую копию этого экземпляра. |
ModelMBeanAttributeInfo |
getAttribute |
Возвращает ModelMBeanAttributeInfo, запрошенный по имени. |
ModelMBeanConstructorInfo |
getConstructor |
Возвращает ModelMBeanConstructorInfo, запрошенный по имени. |
Descriptor |
getDescriptor() |
Получить описатель этого MBeanInfo. |
Descriptor |
getDescriptor |
Возвращает описатель, запрошенный по имени. |
Descriptor |
getDescriptor |
Возвращает описатель, запрошенный по имени и типу описателя. |
Descriptor[] |
getDescriptors |
Возвращает массив описателей, состоящий из всех описателей для ModelMBeanInfo заданного типа inDescriptorType. |
Descriptor |
getMBeanDescriptor() |
Возвращает описатель ModelMBean, содержащий политики уровня MBean. |
ModelMBeanNotificationInfo |
getNotification |
Возвращает ModelMBeanNotificationInfo, запрошенный по имени. |
ModelMBeanOperationInfo |
getOperation |
Возвращает ModelMBeanOperationInfo, запрошенный по имени. |
void |
setDescriptor |
Устанавливает описатели в массив info заданного типа inDescriptorType для ModelMBean. |
void |
setDescriptors |
Добавляет или заменяет описатели в ModelMBeanInfo. |
void |
setMBeanDescriptor |
Устанавливает описатель ModelMBean. |
Методы, унаследованные от класса javax.management.MBeanInfo
equals, getAttributes, getClassName, getConstructors, getDescription, getNotifications, getOperations
Методы, унаследованные от класса java.lang.Object
finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Методы, унаследованные от интерфейса javax.management.modelmbean.ModelMBeanInfo
getAttributes, getClassName, getConstructors, getDescription, getNotifications, getOperations
Подробное описание конструкторов
ModelMBeanInfoSupport
public ModelMBeanInfoSupport(ModelMBeanInfo mbi)
ModelMBeanAttributeInfo[] и т.д.) не клонируются. Данный метод преимущественно интересен для изменения Descriptor возвращаемого экземпляра с помощью setDescriptor без влияния на Descriptor исходного объекта.- Параметры:
-
mbi- экземпляр ModelMBeanInfo, по которому инициализируется создаваемый ModelMBeanInfo.
ModelMBeanInfoSupport
public ModelMBeanInfoSupport(String className, String description, ModelMBeanAttributeInfo[] attributes, ModelMBeanConstructorInfo[] constructors, ModelMBeanOperationInfo[] operations, ModelMBeanNotificationInfo[] notifications)
- Параметры:
-
className- имя класса MBean -
description- удобочитаемое описание ModelMBean -
attributes- массив объектов ModelMBeanAttributeInfo, которые имеют descriptor -
constructors- массив объектов ModelMBeanConstructorInfo, которые имеют descriptor -
operations- массив объектов ModelMBeanOperationInfo, которые имеют descriptor -
notifications- массив объектов ModelMBeanNotificationInfo, которые имеют descriptor
ModelMBeanInfoSupport
public ModelMBeanInfoSupport(String className, String description, ModelMBeanAttributeInfo[] attributes, ModelMBeanConstructorInfo[] constructors, ModelMBeanOperationInfo[] operations, ModelMBeanNotificationInfo[] notifications, Descriptor mbeandescriptor)
- Параметры:
-
className- имя класса MBean -
description- удобочитаемое описание ModelMBean -
attributes- массив объектов ModelMBeanAttributeInfo, которые имеют descriptor -
constructors- массив объектов ModelMBeanConstructorInfo, которые имеют descriptor -
operations- массив объектов ModelMBeanOperationInfo, которые имеют descriptor -
notifications- массив объектов ModelMBeanNotificationInfo, которые имеют descriptor -
mbeandescriptor- descriptor, который будет использоваться в качестве MBeanDescriptor, содержащего политику MBean. Если descriptor равен null, будет создан descriptor по умолчанию. По умолчанию descriptor: name=className, descriptorType="mbean", displayName=className, persistPolicy="never", log="F", visibility="1". Если descriptor не содержит все эти поля, отсутствующие поля добавляются с этими значениями по умолчанию. - Исключения:
-
RuntimeOperationsException- Оборачивает исключение IllegalArgumentException для некорректного descriptor, переданного в параметре. (См.getMBeanDescriptorдля определения допустимого descriptor MBean.)
Подробное описание методов
clone
public Object clone()
ModelMBeanAttributeInfo[] и т.д.) не клонируются. Данный метод преимущественно интересен для изменения Descriptor копии с помощью setDescriptor без влияния на Descriptor исходного объекта.- Определяется в:
-
cloneв интерфейсеModelMBeanInfo - Переопределяет:
-
cloneв классеMBeanInfo - Возвращает:
- поверхностную копию этого экземпляра.
- См. также:
getDescriptors
public Descriptor[] getDescriptors(String inDescriptorType) throws MBeanException, RuntimeOperationsException
ModelMBeanInfo- Определяется в:
-
getDescriptorsв интерфейсеModelMBeanInfo - Параметры:
-
inDescriptorType- значение поля descriptorType, которое должно быть установлено для возвращаемого descriptor. Должно быть "mbean", "attribute", "operation", "constructor" или "notification". Если оно равно null или пустое, будут возвращены все типы. - Возвращает:
- массив Descriptor, содержащий все descriptors для ModelMBean типа inDescriptorType.
- Исключения:
-
MBeanException- Оборачивает исключение распределённой коммуникации. -
RuntimeOperationsException- Оборачивает исключение IllegalArgumentException, когда descriptorType в параметре не является одним из: "mbean", "attribute", "operation", "constructor", "notification", пустым или null. - См. также:
setDescriptors
public void setDescriptors(Descriptor[] inDescriptors) throws MBeanException, RuntimeOperationsException
ModelMBeanInfo- Определяется в:
-
setDescriptorsв интерфейсеModelMBeanInfo - Параметры:
-
inDescriptors- descriptors, которые нужно установить в ModelMBeanInfo. Нулевые элементы списка будут проигнорированы. Все descriptors должны иметь поля name и descriptorType. - Исключения:
-
MBeanException- Оборачивает исключение распределённой коммуникации. -
RuntimeOperationsException- Оборачивает исключение IllegalArgumentException для null или некорректного descriptor. - См. также:
getDescriptor
public Descriptor getDescriptor(String inDescriptorName) throws MBeanException, RuntimeOperationsException
- Параметры:
-
inDescriptorName- Имя descriptor. - Возвращает:
- Descriptor, содержащий descriptor для ModelMBean с тем же именем. Если descriptor не найден, возвращается null.
- Исключения:
-
MBeanException- Оборачивает исключение распределённой коммуникации. -
RuntimeOperationsException- Оборачивает исключение IllegalArgumentException для null имени. - См. также:
getDescriptor
public Descriptor getDescriptor(String inDescriptorName, String inDescriptorType) throws MBeanException, RuntimeOperationsException
ModelMBeanInfo- Определяется в:
-
getDescriptorв интерфейсеModelMBeanInfo - Параметры:
-
inDescriptorName- Имя descriptor. -
inDescriptorType- Тип запрашиваемого descriptor. Если null или пустое, ищутся все типы. Допустимые типы — 'mbean', 'attribute', 'constructor' 'operation' и 'notification'. Это значение будет равно полю 'descriptorType' в возвращаемом descriptor. - Возвращает:
- Descriptor, содержащий descriptor для ModelMBean с тем же именем и типом descriptor. Если descriptor не найден, возвращается null.
- Исключения:
-
MBeanException- Оборачивает исключение распределённой коммуникации. -
RuntimeOperationsException- Оборачивает исключение IllegalArgumentException для null имени descriptor или null или некорректного типа. Тип должен быть "mbean", "attribute", "constructor", "operation" или "notification". - См. также:
setDescriptor
public void setDescriptor(Descriptor inDescriptor, String inDescriptorType) throws MBeanException, RuntimeOperationsException
ModelMBeanInfo- Определяется в:
-
setDescriptorв интерфейсеModelMBeanInfo - Параметры:
-
inDescriptor- descriptor, который нужно установить в ModelMBean. Он НЕ должен быть null. Все descriptors должны иметь поля name и descriptorType. -
inDescriptorType- Тип устанавливаемого descriptor. Если null, используется поле descriptorType в descriptor. Если указано, это значение должно быть установлено в поле descriptorType в descriptor. Должно быть "mbean", "attribute", "constructor", "operation" или "notification". - Исключения:
-
MBeanException- Оборачивает исключение распределённой коммуникации. -
RuntimeOperationsException- Оборачивает исключение IllegalArgumentException для некорректных или null аргументов или если поле name descriptor не найдено в соответствующих MBeanAttributeInfo или MBeanConstructorInfo или MBeanNotificationInfo или MBeanOperationInfo. - См. также:
getAttribute
public ModelMBeanAttributeInfo getAttribute(String inName) throws MBeanException, RuntimeOperationsException
ModelMBeanInfo- Указано:
-
getAttributeв интерфейсеModelMBeanInfo - Параметры:
-
inName- Имя ModelMBeanAttributeInfo для получения. Если ModelMBeanAttributeInfo с таким именем не существует, возвращается null. - Возвращает:
- информацию об атрибуте с указанным именем или null, если таковой отсутствует.
- Использует:
-
MBeanException- Оборачивает исключение распределённой коммуникации. -
RuntimeOperationsException- Оборачивает IllegalArgumentException для null имени атрибута.
getOperation
public ModelMBeanOperationInfo getOperation(String inName) throws MBeanException, RuntimeOperationsException
ModelMBeanInfo- Указано:
-
getOperationв интерфейсеModelMBeanInfo - Параметры:
-
inName- Имя ModelMBeanOperationInfo для получения. Если ModelMBeanOperationInfo с таким именем не существует, возвращается null. - Возвращает:
- информацию об операции с указанным именем или null, если таковой отсутствует.
- Использует:
-
MBeanException- Оборачивает исключение распределённой коммуникации. -
RuntimeOperationsException- Оборачивает IllegalArgumentException для null имени операции.
getConstructor
public ModelMBeanConstructorInfo getConstructor(String inName) throws MBeanException, RuntimeOperationsException
- Параметры:
-
inName- имя конструктора. - Возвращает:
- информацию о конструкторе с указанным именем или null, если таковой отсутствует.
- Использует:
-
MBeanException- Оборачивает исключение распределённой коммуникации. -
RuntimeOperationsException- Оборачивает IllegalArgumentException для null имени конструктора.
getNotification
public ModelMBeanNotificationInfo getNotification(String inName) throws MBeanException, RuntimeOperationsException
ModelMBeanInfo- Указано:
-
getNotificationв интерфейсеModelMBeanInfo - Параметры:
-
inName- Имя ModelMBeanNotificationInfo для получения. Если ModelMBeanNotificationInfo с таким именем не существует, возвращается null. - Возвращает:
- информацию об уведомлении с указанным именем или null, если таковой отсутствует.
- Использует:
-
MBeanException- Оборачивает исключение распределённой коммуникации. -
RuntimeOperationsException- Оборачивает IllegalArgumentException для null имени уведомления.
getDescriptor
public Descriptor getDescriptor()
MBeanInfo- Указано:
-
getDescriptorв интерфейсеDescriptorRead - Переопределяет:
-
getDescriptorв классеMBeanInfo - Возвращает:
- дескриптор, который является неизменяемым или копией оригинального.
- С:
- 1.6
getMBeanDescriptor
public Descriptor getMBeanDescriptor() throws MBeanException
ModelMBeanInfoВозвращает дескриптор 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 | Number | Частота цикла сохранения в секундах для политики сохранения OnTime и NoMoreOftenThan. |
| currencyTimeLimit | Number | Сколько времени действительна кэшированная информация: <0 никогда, =0 всегда, >0 секунды. |
| log | String | t: логировать все уведомления, f: не логировать уведомления. |
| logfile | String | Полное квалифицированное имя файла для логирования событий. |
| visibility | Number | 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. Чтобы указать, что оно всегда действительное, используйте очень большое число для этого поля.
- Указано:
-
getMBeanDescriptorв интерфейсеModelMBeanInfo - Возвращает:
- дескриптор MBean.
- Использует:
-
MBeanException- Оборачивает исключение распределённой коммуникации. - См. также:
setMBeanDescriptor
public void setMBeanDescriptor(Descriptor inMBeanDescriptor) throws MBeanException, RuntimeOperationsException
ModelMBeanInfogetMBeanDescriptor для описания допустимых имён полей.- Указано:
-
setMBeanDescriptorв интерфейсеModelMBeanInfo - Параметры:
-
inMBeanDescriptor- дескриптор для установки. - Использует:
-
MBeanException- Оборачивает исключение распределённой коммуникации. -
RuntimeOperationsException- Оборачивает IllegalArgumentException для недопустимого дескриптора. - См. также:
© 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/ModelMBeanInfoSupport.html