Пакет 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

Интерфейс CompositeData определяет поведение конкретного типа сложных объектов открытых данных, представляющих структуры композитных данных.

CompositeDataView

Класс Java может реализовывать этот интерфейс, чтобы указать, как его следует преобразовать в CompositeData фреймворком MXBean.

OpenMBeanAttributeInfo

Описывает атрибут Open MBean.

OpenMBeanConstructorInfo

Описывает конструктор Open MBean.

OpenMBeanInfo

Описывает Open MBean: Open MBean распознаётся как таковой, если метод getMBeanInfo() возвращает экземпляр класса, реализующего интерфейс OpenMBeanInfo, обычно OpenMBeanInfoSupport.

OpenMBeanOperationInfo

Описывает операцию Open MBean.

OpenMBeanParameterInfo

Описывает параметр, используемый в одной или нескольких операциях или конструкторах Open MBean.

TabularData

Интерфейс TabularData определяет поведение конкретного типа сложных объектов открытых данных, представляющих структуры табличных данных.

Класс Описание
ArrayType<T>

Класс ArrayType — это класс открытого типа, экземпляры которого описывают все значения открытых данных, являющиеся многомерными массивами значений открытых данных.

CompositeDataInvocationHandler

Обработчик вызовов InvocationHandler, который перенаправляет методы-геттеры в CompositeData.

CompositeDataSupport

Класс CompositeDataSupport — это класс открытых данных, реализующий интерфейс CompositeData.

CompositeType

Класс CompositeType — это класс открытого типа, экземпляры которого описывают типы значений CompositeData.

OpenMBeanAttributeInfoSupport

Описывает атрибут Open MBean.

OpenMBeanConstructorInfoSupport

Описывает конструктор Open MBean.

OpenMBeanInfoSupport

Класс OpenMBeanInfoSupport описывает управляющую информацию Open MBean: он является подклассом MBeanInfo и реализует интерфейс OpenMBeanInfo.

OpenMBeanOperationInfoSupport

Описывает операцию Open MBean.

OpenMBeanParameterInfoSupport

Описывает параметр, используемый в одной или нескольких операциях или конструкторах Open MBean.

OpenType<T>

Класс OpenType — это родительский абстрактный класс всех классов, которые описывают фактический открытый тип значений открытых данных.

SimpleType<T>

Класс SimpleType — это класс открытого типа, экземпляры которого описывают все значения открытых данных, которые не являются массивами, значениями CompositeData или значениями TabularData.

TabularDataSupport

Класс TabularDataSupport — это класс открытых данных, реализующий интерфейсы TabularData и Map, и основанный внутри на структуре данных хэш-мапы.

TabularType

Класс TabularType — это класс открытого типа, экземпляры которого описывают типы значений TabularData.

Исключение Описание
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

Spec-Zone .ru
спецификации, руководства, описания, API