Класс ModelMBeanInfoSupport
- Все реализуемые интерфейсы:
Serializable, Cloneable, DescriptorRead, ModelMBeanInfo
public class ModelMBeanInfoSupport extends MBeanInfo implements ModelMBeanInfo
Ресурсы 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 |
Создает ModelMBeanInfoSupport с предоставленной информацией и дескриптором по умолчанию. |
ModelMBeanInfoSupport |
Создает ModelMBeanInfoSupport с предоставленной информацией и дескриптором, указанным в параметре. |
ModelMBeanInfoSupport |
Создает ModelMBeanInfoSupport, являющийся копией указанного ModelMBeanInfo. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
Object |
clone() |
Возвращает поверхностную копию этого экземпляра. |
ModelMBeanAttributeInfo |
getAttribute |
Возвращает ModelMBeanAttributeInfo, запрошенный по имени. |
ModelMBeanConstructorInfo |
getConstructor |
Возвращает ModelMBeanConstructorInfo, запрошенный по имени. |
Descriptor |
getDescriptor() |
Получает дескриптор этого MBeanInfo. |
Descriptor |
getDescriptor |
Возвращает дескриптор, запрошенный по имени. |
Descriptor |
getDescriptor |
Возвращает дескриптор, запрошенный по имени и descriptorType. |
Descriptor[] |
getDescriptors |
Возвращает массив Descriptor, содержащий все дескрипторы ModelMBeanInfo типа inDescriptorType. |
Descriptor |
getMBeanDescriptor() |
Возвращает дескриптор ModelMBean, содержащий политики уровня MBean. |
ModelMBeanNotificationInfo |
getNotification |
Возвращает ModelMBeanNotificationInfo, запрошенный по имени. |
ModelMBeanOperationInfo |
getOperation |
Возвращает ModelMBeanOperationInfo, запрошенный по имени. |
void |
setDescriptor |
Задает дескрипторы в массиве сведений для ModelMBean типа inDescriptorType. |
void |
setDescriptors |
Добавляет или заменяет дескрипторы в ModelMBeanInfo. |
void |
setMBeanDescriptor |
Задает дескриптор ModelMBean. |
Методы, объявленные в классе MBeanInfo
equals, getAttributes, getClassName, getConstructors, getDescription, getNotifications, getOperations
Методы, объявленные в классе Object
finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Методы, объявленные в интерфейсе ModelMBeanInfo
getAttributes, getClassName, getConstructors, getDescription, getNotifications, getOperations
Подробное описание конструкторов
ModelMBeanInfoSupport
public ModelMBeanInfoSupport(ModelMBeanInfo mbi)
ModelMBeanAttributeInfo[] и т. д.) не клонируются. Этот метод в первую очередь полезен для изменения дескриптора возвращаемого экземпляра с помощью setDescriptor без изменения дескриптора исходного объекта.- Параметры:
-
mbi— экземпляр ModelMBeanInfo, на основе которого инициализируется создаваемый ModelMBeanInfo.
ModelMBeanInfoSupport
public ModelMBeanInfoSupport(String className, String description, ModelMBeanAttributeInfo[] attributes, ModelMBeanConstructorInfo[] constructors, ModelMBeanOperationInfo[] operations, ModelMBeanNotificationInfo[] notifications)
- Параметры:
-
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)
- Параметры:
-
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, если передан недопустимый дескриптор. (Определение допустимого дескриптора MBean см. вgetMBeanDescriptor.)
Подробное описание методов
clone
public Object clone()
ModelMBeanAttributeInfo[] и т. д.) не клонируются. Этот метод в первую очередь полезен для изменения дескриптора копии с помощью setDescriptor без изменения дескриптора исходного объекта.- Определено в:
-
cloneв интерфейсеModelMBeanInfo - Переопределяет:
-
cloneв классеMBeanInfo - Возвращает:
- поверхностную копию этого экземпляра.
- См. также:
getDescriptors
public Descriptor[] getDescriptors(String inDescriptorType) throws MBeanException, RuntimeOperationsException
ModelMBeanInfo- Определено в:
-
getDescriptorsв интерфейсеModelMBeanInfo - Параметры:
-
inDescriptorType— значение поля descriptorType, которое должно быть задано для возвращаемого дескриптора. Должно иметь значение "mbean", "attribute", "operation", "constructor" или "notification". Если значение равно null или пустое, будут возвращены все типы. - Возвращает:
- массив Descriptor, содержащий все дескрипторы 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— дескрипторы, задаваемые в ModelMBeanInfo. Элементы списка со значением null игнорируются. Все дескрипторы должны содержать поля name и descriptorType. - Выбрасывает:
-
MBeanException— оборачивает исключение при распределенном обмене данными. -
RuntimeOperationsException— оборачивает IllegalArgumentException при передаче null или недопустимого дескриптора. - См. также:
getDescriptor
public Descriptor getDescriptor(String inDescriptorName) throws MBeanException, RuntimeOperationsException
- Параметры:
-
inDescriptorName— имя дескриптора. - Возвращает:
- дескриптор ModelMBean с таким же именем. Если дескриптор не найден, возвращается null.
- Выбрасывает:
-
MBeanException— оборачивает исключение при распределенном обмене данными. -
RuntimeOperationsException— оборачивает IllegalArgumentException при передаче имени null. - См. также:
getDescriptor
public Descriptor getDescriptor(String inDescriptorName, String inDescriptorType) throws MBeanException, RuntimeOperationsException
ModelMBeanInfo- Определено в:
-
getDescriptorв интерфейсеModelMBeanInfo - Параметры:
-
inDescriptorName— имя дескриптора. -
inDescriptorType— тип запрашиваемого дескриптора. Если значение равно null или пустое, выполняется поиск по всем типам. Допустимые типы: 'mbean', 'attribute', 'constructor', 'operation' и 'notification'. Это значение будет соответствовать полю 'descriptorType' возвращаемого дескриптора. - Возвращает:
- дескриптор ModelMBean с таким же именем и descriptorType. Если дескриптор не найден, возвращается null.
- Выбрасывает:
-
MBeanException— оборачивает исключение при распределенном обмене данными. -
RuntimeOperationsException— оборачивает IllegalArgumentException при передаче имени дескриптора null, типа null или недопустимого типа. Тип должен быть одним из следующих: "mbean", "attribute", "constructor", "operation" или "notification". - См. также:
setDescriptor
public void setDescriptor(Descriptor inDescriptor, String inDescriptorType) throws MBeanException, RuntimeOperationsException
ModelMBeanInfo- Определено в:
-
setDescriptorв интерфейсеModelMBeanInfo - Параметры:
-
inDescriptor— дескриптор, задаваемый в ModelMBean. Он НЕ должен быть равен null. Все дескрипторы должны содержать поля name и descriptorType. -
inDescriptorType— тип задаваемого дескриптора. Если значение равно null, используется поле descriptorType дескриптора. Если значение указано, оно должно совпадать со значением поля descriptorType дескриптора. Допустимые значения: "mbean", "attribute", "constructor", "operation" или "notification". - Выбрасывает:
-
MBeanException— оборачивает исключение при распределенном обмене данными. -
RuntimeOperationsException— оборачивает IllegalArgumentException при недопустимых или нулевых аргументах, а также если поле name дескриптора не найдено в соответствующем 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 | Частота цикла сохранения в секундах для PersistPolicy 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, 2025, 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/25/docs/api/java.management/javax/management/modelmbean/ModelMBeanInfoSupport.html