Класс 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 |
Возвращает массив дескрипторов, содержащий все дескрипторы ModelMBeanInfo типа inDescriptorType. |
Descriptor |
getMBeanDescriptor() |
Возвращает дескриптор ModelMBean, содержащий политики для всего MBean. |
ModelMBeanNotificationInfo |
getNotification |
Возвращает ModelMBeanNotificationInfo, запрошенный по имени. |
ModelMBeanOperationInfo |
getOperation |
Возвращает ModelMBeanOperationInfo, запрошенный по имени. |
void |
setDescriptor |
Задаёт дескрипторы в массиве сведений типа inDescriptorType для ModelMBean. |
void |
setDescriptors |
Добавляет или заменяет дескрипторы в ModelMBeanInfo. |
void |
setMBeanDescriptor |
Задаёт дескриптор ModelMBean. |
Методы, объявленные в классе MBeanInfo
equals, getAttributes, getClassName, getConstructors, getDescription, getNotifications, getOperations | Модификатор и тип | Метод | Описание |
|---|---|---|
boolean |
equals |
Сравнивает этот MBeanInfo с другим. |
MBeanAttributeInfo[] |
getAttributes() |
Возвращает список атрибутов, предоставляемых для управления. |
String |
getClassName() |
Возвращает имя класса Java для MBean, описанного этим MBeanInfo. |
MBeanConstructorInfo[] |
getConstructors() |
Возвращает список открытых конструкторов MBean. |
String |
getDescription() |
Возвращает понятное человеку описание MBean. |
MBeanNotificationInfo[] |
getNotifications() |
Возвращает список уведомлений, отправляемых MBean. |
MBeanOperationInfo[] |
getOperations() |
Возвращает список операций MBean. |
Методы, объявленные в классе Object
finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected void |
finalize() |
Устарело, будет удалено: этот элемент API подлежит удалению в будущей версии. Финализация объявлена устаревшей и будет удалена в одном из будущих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
int |
hashCode() |
Возвращает хеш-код этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
String |
toString() |
Возвращает строковое представление объекта. |
final void |
wait() |
Заставляет текущий поток ожидать пробуждения, обычно после получения уведомления или прерывания. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно после получения уведомления или прерывания, либо до истечения определённого промежутка реального времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно после получения уведомления или прерывания, либо до истечения определённого промежутка реального времени. |
Методы, объявленные в интерфейсе ModelMBeanInfo
getAttributes, getClassName, getConstructors, getDescription, getNotifications, getOperations | Модификатор и тип | Метод | Описание |
|---|---|---|
MBeanAttributeInfo[] |
getAttributes() |
Возвращает список атрибутов, предоставляемых для управления. |
String |
getClassName() |
Возвращает имя класса Java для MBean, описанного этим MBeanInfo. |
MBeanConstructorInfo[] |
getConstructors() |
Возвращает список открытых конструкторов MBean. |
String |
getDescription() |
Возвращает понятное человеку описание MBean. |
MBeanNotificationInfo[] |
getNotifications() |
Возвращает список уведомлений, отправляемых MBean. |
MBeanOperationInfo[] |
getOperations() |
Возвращает список операций MBean. |
Подробное описание конструкторов
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 с дескрипторами -
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[] и т. д.) не клонируются. Этот метод представляет интерес главным образом для изменения Descriptor клона с помощью setDescriptor без влияния на Descriptor исходного объекта.- Определено в:
-
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— имя дескриптора. - Возвращает:
- Descriptor, содержащий дескриптор 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' возвращаемого дескриптора. - Возвращает:
- Descriptor, содержащий дескриптор 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 для недопустимых аргументов или аргументов со значением null, а также если поле 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 и политики по умолчанию для сохранения и кэширования.
Поля дескриптора определены следующим образом, но этот список не является исчерпывающим. Обратите внимание: если в столбце Type указано Number, также можно использовать строку с десятичным представлением Long.
| Имя | Тип | Значение |
|---|---|---|
| name | String | Имя MBean. |
| descriptorType | String | Должно быть равно "mbean". |
| displayName | String | Имя MBean, используемое для отображения. |
| persistPolicy | String | Одно из значений: OnUpdate|OnTimer|NoMoreOftenThan|OnUnregister|Always|Never. См. раздел "MBean Descriptor Fields" в спецификации 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.