javax.management.openmbean (Java SE 15 & JDK 15) (original) (raw)

Provides the open data types and Open MBean descriptor classes. An Open MBean is an MBean where the types of attributes and of operation parameters and return values are built using a small set of predefined Java classes. Open MBeans facilitate operation with remote management programs that do not necessarily have access to application-specific types, including non-Java programs.

Every MBean has an MBeanInfo with information about the MBean itself, and its attributes, operations, constructors, and notifications. In an Open MBean, this MBeanInfo implements the OpenMBeanInfo interface, usually by being an instance of OpenMBeanInfoSupport.

The attribute information returned by MBeanInfo.getAttributes for an Open MBean is an array of objects implementing OpenMBeanAttributeInfo, usually instances of OpenMBeanAttributeInfoSupport. In addition to the usual information about attributes, anOpenMBeanAttributeInfo specifies the OpenType of the attribute. The possible OpenType values are predefined, which is what ensures that remote managers will understand them.

Similar remarks apply to the parameter types of operations and constructors, and to the return types of operations.

There is a distinction between an attribute's Java language type, as returned by getType(), and its OpenType, as returned by getOpenType(). For example, if the Java language type isjava.lang.String, the OpenType will beSimpleType.String. If the Java language type is CompositeData, theOpenType will be a CompositeType that describes the items in the CompositeData instances for the attribute.

Default values and constraints

In Open MBeans, attributes and parameters can have default values and/or constraints associated with them in the OpenMBeanAttributeInfo or OpenMBeanParameterInfo. There are two ways to specify these constraints. Either the values are directly specified as parameters to one of the constructors of OpenMBeanAttributeInfoSupport orOpenMBeanParameterInfoSupport, for exampleOpenMBeanParameterInfoSupport( String, String, OpenType, Object, Object[]); or the values are specified in a Descriptor given as a parameter to one of the constructors.

When a Descriptor is used, the fields of interest are these:

For defaultValue, minValue, and maxValue, the associated value must either be of the Java type corresponding to openType, or be a string that can be converted into that type. The conversion uses the static methodvalueOf(String) if it finds one; otherwise a constructor with a single String parameter if it finds one; otherwise it fails.

For legalValues, the associated value must be either an array or a Set, and the elements of the array or set must be convertible as described for defaultValue etc.

The following conditions must be met for these fields:

Since:

1.5

See Also:

JMX Specification, version 1.4

Report a bug or suggest an enhancement
For further API reference and developer documentation see the Java SE Documentation, which contains more detailed, developer-targeted descriptions with conceptual overviews, definitions of terms, workarounds, and working code examples.
Java is a trademark or registered trademark of Oracle and/or its affiliates in the US and other countries.
Copyright © 1993, 2020, Oracle and/or its affiliates, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
All rights reserved. Use is subject to license terms and the documentation redistribution policy.