To distinguish open MBeans from other MBeans, the JMX specification provides a set of metadata classes which are used specifically to describe open MBeans.
The following interfaces in the javax.management.openmbean package define the management interface of an open MBean:
OpenMBeanInfo lists the attributes, operations, constructors and notifications
OpenMBeanOperationInfo describes the method of an operation
OpenMBeanConstructorInfo describes a constructor
OpenMBeanParameterInfo describes a method parameter
OpenMBeanAttributeInfo describes an attribute
For each of these interfaces, a support class provides an implementation. Each of these classes describes a category of components in an open MBean. However, open MBeans do not have a specific metadata object for notifications; they use the MBeanNotificationInfo class.
Open MBeans provide a universal means of exchanging management functionality and consequently their description must be explicit enough for any user to understand. All of the OpenMBean*Info metadata classes inherit the getDescription method which should return a non-empty string. Each component of an open MBean must use this method to provide descriptions that are suitable for displaying in a graphical user interface.
Only the OpenMBeanOperationInfo specifies the getImpact method. Instances of OpenMBeanOperationInfo.getImpact must return one of the following constant values:
ACTION
INFO
ACTION_INFO
The value UNKNOWN cannot be used.