Use Dynamic MBeans
Dynamic MBeans provide significant benefits over standard MBeans for MBean resources that are deployed in production systems. As opposed to standard MBeans, whose metadata is created and maintained by the JMX implementation, the MBean developer creates dynamic MBean metadata. Therein lies the key to the power and flexibility of dynamic MBeans. However, with this power and flexibility comes a clear trade-off: complexity. Dynamic MBeans are not trivial to implement. But don’t worry, at the end of this section I will provide a few recommendations that will make life easier when implementing dynamic MBeans.
The JMX specification defines an interface called
DynamicMBean
and three types of dynamic MBeans that implement it:
- Dynamic MBeans
The root type of dynamic MBean—an implementation of the
DynamicMBean
interface and nothing more.- Open MBeans
MBeans that are described using flexible, open MBean metadata types, allowing a management application to manipulate MBeans whose attribute values are user-defined types, without having to access the bytecode for those types.
- Model MBeans
MBeans that are described using special model MBean metadata classes. Each JMX implementation is required to provide a concrete model MBean implementation called
RequiredModelMBean
.
The significant benefits of dynamic MBeans over standard MBeans are:
Each MBean feature can have a description.
You, as the MBean developer, have control over the creation of the metadata that describes the management ...
Get Java Enterprise Best Practices now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.