Пакет javax.management.openmbean
Предоставляет открытые типы данных и классы описателей открытых MBean. Открытый MBean — это MBean, где типы атрибутов и параметров операций и возвращаемых значений создаются с помощью небольшого набора предопределённых классов Java. Открытые MBean упрощают работу с программами удалённого управления, которые необязательно имеют доступ к типам, специфичным для приложения, включая программы, не написанные на Java.
Каждый MBean имеет MBeanInfo с информацией о самом MBean, а также его атрибутах, операциях, конструкторах и уведомлениях. В случае с Открытым MBean этот MBeanInfo реализует интерфейс OpenMBeanInfo, обычно, являясь экземпляром класса OpenMBeanInfoSupport.
Информация об атрибутах, возвращаемая методом MBeanInfo.getAttributes для Открытого MBean, представляет собой массив объектов, реализующих интерфейс OpenMBeanAttributeInfo, обычно экземпляры класса OpenMBeanAttributeInfoSupport. Помимо обычной информации об атрибутах, OpenMBeanAttributeInfo определяет OpenType атрибута. Возможные значения OpenType предопределены, что гарантирует понимание этих значений программами удалённого управления.
Аналогичные замечания относятся к типам параметров операций и конструкторов, а также к типам возвращаемых значений операций.
Существует различие между типом атрибута в языке Java, возвращаемым методом getType(), и его OpenType, возвращаемым методом getOpenType(). Например, если тип в языке Java — java.lang.String, то OpenType будет SimpleType.String. Если тип в языке Java — CompositeData, то OpenType будет CompositeType, который описывает элементы в экземплярах CompositeData для атрибута.
Значения по умолчанию и ограничения
В Открытых MBean атрибуты и параметры могут иметь значения по умолчанию и/или связанные с ними ограничения в
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, связанное значение должно быть либо массивом, либо набором, а элементы массива или набора должны быть преобразуемы, как описано для 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, который передает методы получения значения к 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, 2021, 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/17/docs/api/java.management/javax/management/openmbean/package-summary.html