Dynamic MBean Inheritance Patterns
In this section, we will look at how the introspection process performed by the MBean server causes the inheritance patterns available to dynamic MBeans to differ from those available to standard MBeans.
Suppose that our application has the inheritance graph shown in Figure 3-2.

Figure 3-2. UML diagram showing a possible inheritance scenario for the sample application
In this scenario, each class (with the exception of
Supplier and Consumer)
explicitly implements the DynamicMBean interface.
Based on the information in the figure, what would you expect the
management interface of, say,
Controller to be? If
you said that it would be the union of the management interface of
Basic and Controller, you would
be mistaken. You may recall from the previous chapter that using
inheritance pattern #4 would allow a child class to augment its
management interface with that of its parent class. However, no such
inheritance patterns are available for dynamic MBeans.
What do you suppose the management interface of
Supplier is? In
fact, it may be a better question to ask whether
Supplier is an MBean at all. The answer is yes,
Supplier is indeed an MBean (in fact, a dynamic
MBean), because it may inherit the dynamic MBean interface from its
parent class. How is this possible? When Supplier is registered with the MBean server, the MBean server performs its introspection ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access