Chapter 3. Dynamic MBeans
Standard MBeans are well suited for management interfaces that are
relatively static. However, if a management interface must be defined
for an existing resource, is likely to evolve over time, or for some
other reason needs to be exposed at runtime, JMX provides an
interface that allows you to do just that. In this chapter, we will
start by looking at the reasons for instrumenting application code as
dynamic MBeans. Then we will look at the metadata classes that are
used to define the management interface of a dynamic MBean. Next, we
will explore ways to implement the DynamicMBean
interface and show how the MBeanInfo
metadata
class is critical in making dynamic MBeans work. At the end of the
chapter, we will examine the management interface inheritance
patterns that are used with dynamic MBeans.
Tip
This chapter assumes that you either are already familiar with standard MBeans or have read Chapter 2.
Why Use Dynamic MBeans?
The main reason to use dynamic MBeans is to more easily instrument
existing code that is written in a manner that conflicts with the
standard MBean design patterns we discussed in Chapter 2. The dynamic MBean
interface is determined not through
introspection, but rather through a method call on the dynamic MBean
itself. This method, called getMBeanInfo(
)
, returns information about the management
interface and is defined on the DynamicMBean
interface; it is the portal through which a management application views what has been exposed ...
Get Java Management Extensions 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.