Класс 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, имеющих descriptors -
constructors- массив объектов ModelMBeanConstructorInfo, имеющих descriptors -
operations- массив объектов ModelMBeanOperationInfo, имеющих descriptors -
notifications- массив объектов ModelMBeanNotificationInfo, имеющих descriptors
ModelMBeanInfoSupport
public ModelMBeanInfoSupport(String className, String description, ModelMBeanAttributeInfo[] attributes, ModelMBeanConstructorInfo[] constructors, ModelMBeanOperationInfo[] operations, ModelMBeanNotificationInfo[] notifications, Descriptor mbeandescriptor)
- Параметры:
-
className- имя класса MBean -
description- удобочитаемое описание ModelMBean -
attributes- массив объектов ModelMBeanAttributeInfo, имеющих descriptors -
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 и стандартные политики для сохранения и кэширования.
Поля в дескрипторе определены, но не ограничиваются следующими. Обратите внимание, что когда Тип в этой таблице - Число, можно также использовать строку, которая является десятичным представлением 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. Чтобы указать, что оно всегда действительное, используйте очень большое число для этого поля.
- Определено в:
-
getMBeanDescriptorв интерфейсеModelMBeanInfo - Возвращает:
- дескриптор MBean.
- Исключения:
-
MBeanException- Обёртка исключения распределённой коммуникации. - См. также:
setMBeanDescriptor
public void setMBeanDescriptor(Descriptor inMBeanDescriptor) throws MBeanException, RuntimeOperationsException
ModelMBeanInfogetMBeanDescriptor для описания допустимых имён полей.- Определено в:
-
setMBeanDescriptorв интерфейсеModelMBeanInfo - Параметры:
-
inMBeanDescriptor- дескриптор для установки. - Исключения:
-
MBeanException- Обёртка исключения распределённой коммуникации. -
RuntimeOperationsException- Обёртка IllegalArgumentException для недопустимого дескриптора. - См. также:
© 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/ModelMBeanInfoSupport.html