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