Пакет 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, связанное значение должно быть либо массивом, либо множеством, а элементы массива или множества должны быть преобразуемы, как описано для defaultValue и т.д.
Для этих полей должны быть выполнены следующие условия:
- значения должны быть соответствующего типа или строками, которые могут быть преобразованы в соответствующий тип, как описано выше;
- если
legalValuesприсутствует, тоminValueиmaxValueне должны присутствовать; - если
defaultValueприсутствует, то оно должно удовлетворять ограничениям, определённымlegalValues,minValue, илиmaxValueпри наличии любого из них; - если
minValueиmaxValueприсутствуют одновременно, тоminValueне должно быть большеmaxValue.
- Since:
- 1.5
- См. также:
- Спецификация JMX, версия 1.4
| Интерфейс | Описание |
|---|---|
| CompositeData | Интерфейс |
| CompositeDataView | Класс Java может реализовывать этот интерфейс, чтобы указать, как его следует преобразовать в |
| OpenMBeanAttributeInfo | Описывает атрибут Open MBean. |
| OpenMBeanConstructorInfo | Описывает конструктор Open MBean. |
| OpenMBeanInfo | Описывает Open MBean: Open MBean распознаётся как таковой, если метод |
| OpenMBeanOperationInfo | Описывает операцию Open MBean. |
| OpenMBeanParameterInfo | Описывает параметр, используемый в одной или нескольких операциях или конструкторах Open MBean. |
| TabularData | Интерфейс |
| Класс | Описание |
|---|---|
| ArrayType<T> | Класс |
| CompositeDataInvocationHandler | Обработчик вызовов |
| CompositeDataSupport | Класс |
| CompositeType | Класс |
| OpenMBeanAttributeInfoSupport | Описывает атрибут Open MBean. |
| OpenMBeanConstructorInfoSupport | Описывает конструктор Open MBean. |
| OpenMBeanInfoSupport | Класс |
| OpenMBeanOperationInfoSupport | Описывает операцию Open MBean. |
| OpenMBeanParameterInfoSupport | Описывает параметр, используемый в одной или нескольких операциях или конструкторах Open MBean. |
| OpenType<T> | Класс |
| SimpleType<T> | Класс |
| TabularDataSupport | Класс |
| TabularType | Класс |
| Исключение | Описание |
|---|---|
| InvalidKeyException | Это исключение времени выполнения выбрасывается для указания того, что параметр метода, который должен был быть именем элемента композитных данных или индексом строки табличных данных, не является допустимым. |
| InvalidOpenTypeException | Это исключение времени выполнения выбрасывается для указания того, что открытый тип значения открытых данных не тот, который ожидался. |
| KeyAlreadyExistsException | Это исключение времени выполнения выбрасывается для указания того, что индекс строки, подлежащей добавлению в экземпляр табличных данных, уже используется для ссылки на другую строку в этом экземпляре табличных данных. |
| OpenDataException | Это проверяемое исключение выбрасывается, когда экземпляр открытого типа, открытых данных или метаданных информации Open MBean не может быть создан из-за того, что одно или несколько ограничений допустимости не выполнены. |
© 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.
https://docs.oracle.com/en/java/javase/11/docs/api/java.management/javax/management/openmbean/package-summary.html