Пакет javax.management.openmbean
Предоставляет открытые типы данных и классы описателей Open MBean. Open MBean — это MBean, где типы атрибутов и параметров операций и возвращаемых значений построены с использованием небольшого набора предопределенных классов Java. Open MBeans облегчают работу с программами удаленного управления, которые не обязательно имеют доступ к типам, специфичным для приложения, включая программы, не написанные на Java.
Каждый MBean имеет MBeanInfo с информацией об самом MBean, его атрибутах, операциях, конструкторах и уведомлениях. В случае Open MBean этот MBeanInfo реализует интерфейс OpenMBeanInfo, обычно являясь экземпляром OpenMBeanInfoSupport.
Информация об атрибутах, возвращаемая MBeanInfo.getAttributes для Open MBean, представляет собой массив объектов, реализующих OpenMBeanAttributeInfo, обычно экземпляры OpenMBeanAttributeInfoSupport. В дополнение к обычной информации об атрибутах, OpenMBeanAttributeInfo задаёт OpenType атрибута. Возможные OpenType значения предопределены, что гарантирует, что удалённые менеджеры их поймут.
Аналогичные замечания относятся к типам параметров операций и конструкторов, а также к типам возвращаемых значений операций.
Существует различие между типом атрибута в языке Java, как возвращается getType(), и его OpenType, как возвращается getOpenType(). Например, если тип в языке Java — java.lang.String, то OpenType будет SimpleType.String. Если тип в языке Java — CompositeData, то OpenType будет CompositeType, который описывает элементы экземпляров CompositeData для атрибута.
Значения по умолчанию и ограничения
В Open MBeans атрибуты и параметры могут иметь значения по умолчанию и/или ограничения, ассоциированные с ними в
OpenMBeanAttributeInfo или OpenMBeanParameterInfo. Существует два способа задания этих ограничений. Либо значения напрямую задаются как параметры одному из конструкторов OpenMBeanAttributeInfoSupport или OpenMBeanParameterInfoSupport, например, OpenMBeanParameterInfoSupport(String, String, OpenType, Object, Object[]); либо значения задаются в Descriptor, переданном в качестве параметра одному из конструкторов.
Когда используется Descriptor, поля для анализа — это:
-
defaultValueопределяет значение, возвращаемоеgetDefaultValue(); -
minValueопределяет значение, возвращаемоеgetMinValue(); -
maxValueопределяет значение, возвращаемоеgetMaxValue(); -
legalValuesопределяет значения, возвращаемыеgetLegalValues().
Для defaultValue, minValue, и
maxValue, соответствующее значение должно быть либо типа Java, соответствующего openType, либо строкой, которая может быть преобразована в этот тип. Преобразование использует статический метод valueOf(String) если такой найдётся; в противном случае — конструктор с единственным параметром String если такой найдётся; в противном случае — преобразование не выполняется.
Для legalValues, соответствующее значение должно быть либо массивом, либо Set, а элементы массива или множества должны быть преобразуемы, как описано для defaultValue и т. д.
Для этих полей должны выполняться следующие условия:
- значения должны быть соответствующего типа или строками, которые могут быть преобразованы в соответствующий тип, как описано выше;
- если
legalValuesприсутствует, то ниminValueниmaxValueне должны присутствовать; - если
defaultValueприсутствует, то оно должно удовлетворять ограничениям, определённымlegalValues,minValue, илиmaxValue, когда любой из этих элементов также присутствует; - если
minValueиmaxValueприсутствуют одновременно, тоminValueне должно быть большеmaxValue.
- Since:
- 1.5
- See Also:
| Класс | Описание |
|---|---|
| ArrayType<T> | Класс ArrayType является классом открытого типа, экземпляры которого описывают все значения открытых данных, которые представляют собой n-мерные массивы значений открытых данных. |
| CompositeData | Интерфейс CompositeData определяет поведение определенного типа сложных объектов открытых данных, которые представляют структуры составных данных. |
| CompositeDataInvocationHandler | Обработчик вызовов InvocationHandler, который перенаправляет методы получения (getter) в CompositeData. |
| CompositeDataSupport | Класс CompositeDataSupport — это класс открытых данных, который реализует интерфейс CompositeData. |
| CompositeDataView | Класс Java может реализовать этот интерфейс, чтобы указать, как он должен быть преобразован в CompositeData фреймворком MXBean. |
| CompositeType | Класс CompositeType — это класс открытого типа, экземпляры которого описывают типы значений CompositeData. |
| InvalidKeyException | Это исключение времени выполнения, которое генерируется, чтобы указать, что параметр метода, который ожидался как имя элемента составных данных или индекс строки табличных данных, не является допустимым. |
| InvalidOpenTypeException | Это исключение времени выполнения, которое генерируется, чтобы указать, что открытый тип значения открытых данных не тот, который ожидался. |
| KeyAlreadyExistsException | Это исключение времени выполнения, которое генерируется, чтобы указать, что индекс строки, которая должна быть добавлена в экземпляр табличных данных, уже используется для ссылки на другую строку в этом экземпляре табличных данных. |
| OpenDataException | Это проверяемое исключение генерируется, когда экземпляр открытого типа, открытых данных или метаданных открытого MBean не может быть создан, потому что одно или несколько ограничений на корректность не были выполнены. |
| OpenMBeanAttributeInfo | Описывает атрибут открытого MBean. |
| OpenMBeanAttributeInfoSupport | Описывает атрибут открытого MBean. |
| OpenMBeanConstructorInfo | Описывает конструктор открытого MBean. |
| OpenMBeanConstructorInfoSupport | Описывает конструктор открытого MBean. |
| OpenMBeanInfo | Описывает открытый MBean: открытый MBean распознается как таковой, если его метод getMBeanInfo() возвращает экземпляр класса, который реализует интерфейс OpenMBeanInfo, как правило, OpenMBeanInfoSupport. |
| OpenMBeanInfoSupport | Класс OpenMBeanInfoSupport описывает информацию об управлении открытым MBean: он является подклассом MBeanInfo и реализует интерфейс OpenMBeanInfo. |
| OpenMBeanOperationInfo | Описывает операцию открытого MBean. |
| OpenMBeanOperationInfoSupport | Описывает операцию открытого MBean. |
| OpenMBeanParameterInfo | Описывает параметр, используемый в одной или нескольких операциях или конструкторах открытого MBean. |
| OpenMBeanParameterInfoSupport | Описывает параметр, используемый в одной или нескольких операциях или конструкторах открытого MBean. |
| OpenType<T> | Класс OpenType — это абстрактный родительский класс всех классов, описывающих фактический открытый тип значений открытых данных. |
| SimpleType<T> | Класс SimpleType является классом открытого типа, экземпляры которого описывают все значения открытых данных, которые не являются массивами, значениями CompositeData или значениями TabularData. |
| TabularData | Интерфейс TabularData определяет поведение определенного типа сложных объектов открытых данных, которые представляют структуры табличных данных. |
| TabularDataSupport | Класс TabularDataSupport — это класс открытых данных, который реализует интерфейсы TabularData и Map, и который внутренне основан на структуре данных хэш-таблицы. |
| TabularType | Класс TabularType — это класс открытого типа, экземпляры которого описывают типы значений TabularData. |
© 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/openmbean/package-summary.html