Controlling MBean Registration
There are times when it is necessary to perform certain activities
before and after an MBean is registered and deregistered.
Implementing the MBeanRegistration
interface provides an MBean with four opportunities (i.e., callbacks)
to perform additional processing. The
MBeanRegistration
interface is
defined as:
public interface MBeanRegistration { public ObjectName preRegister(MBeanServer server, ObjectName name) throws java.lang.Exception; public void postRegister(Boolean registrationDone); public void preDeregister( ) throws java.lang.Exception; public void postDeregister( ); }
Another advantage of implementing this interface is that the MBean
itself can generate its own object name in preRegister(
)
, which is invoked prior to registering the
MBean. The first opportunity an MBean has to perform any additional
processing is in preRegister( ), which takes two
parameters. The first parameter,
server
, is a reference to the MBean server
in which the MBean will be registered, allowing an MBean to maintain
a reference to its MBean server. The second parameter,
name
, is the object name of the MBean. The
specification does not mention anything about the behavior of this
method, other than that it is invoked prior to an MBean being
registered. However, looking through the RI, it is clear that the
designers of JMX intended that if the name
parameter is null
, the MBean will generate its own
object name. Otherwise, name is returned
unchanged.
Once the MBean ...
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.