Пакет javax.management.openmbean
Предоставляет типы открытых данных и классы описателей Open MBean.
См.: Описание
| Интерфейс | Описание |
|---|---|
| CompositeData | Интерфейс |
| CompositeDataView | Класс Java может реализовать этот интерфейс, чтобы указать, как он должен быть преобразован в |
| OpenMBeanAttributeInfo | Описание атрибута открытого MBean. |
| OpenMBeanConstructorInfo | Описание конструктора Open MBean. |
| OpenMBeanInfo | Описание Open MBean: Open MBean распознается как таковой, если его метод |
| OpenMBeanOperationInfo | Описание операции Open MBean. |
| OpenMBeanParameterInfo | Описание параметра, используемого в одной или нескольких операциях или конструкторах открытого MBean. |
| TabularData | Интерфейс |
| Класс | Описание |
|---|---|
| ArrayType<T> | Класс |
| CompositeDataInvocationHandler |
|
| CompositeDataSupport | Класс |
| CompositeType | Класс |
| OpenMBeanAttributeInfoSupport | Описание атрибута открытого MBean. |
| OpenMBeanConstructorInfoSupport | Описание конструктора Open MBean. |
| OpenMBeanInfoSupport | Класс |
| OpenMBeanOperationInfoSupport | Описание операции Open MBean. |
| OpenMBeanParameterInfoSupport | Описание параметра, используемого в одной или нескольких операциях или конструкторах открытого MBean. |
| OpenType<T> | Класс |
| SimpleType<T> | Класс |
| TabularDataSupport | Класс |
| TabularType | Класс |
| Исключение | Описание |
|---|---|
| InvalidKeyException | Это исключение времени выполнения выбрасывается для указания того, что параметр метода, который ожидался как имя элемента составных данных или индекс строки табличных данных, не является допустимым. |
| InvalidOpenTypeException | Это исключение времени выполнения выбрасывается для указания того, что открытый тип значения открытых данных не является ожидаемым. |
| KeyAlreadyExistsException | Это исключение времени выполнения выбрасывается для указания того, что индекс строки, которая должна быть добавлена в экземпляр табличных данных, уже используется для ссылки на другую строку в этом экземпляре табличных данных. |
| OpenDataException | Это проверяемое исключение выбрасывается, когда экземпляр открытого типа, открытых данных или информации метаданных открытого MBean не может быть создан, потому что одно или несколько ограничений валидности не были выполнены. |
Описание пакета 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.
- С тех пор:
- 1.5
- См. также:
- Документация платформы Java по технологии JMX, в частности Спецификация JMX, версия 1.4
© 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.