Class MBeanRegistrationSupport
- Direct Known Subclasses:
ConnectorServerFactoryBean, MBeanExporter
MBeanServer. The behavior when encountering
an existing MBean at a given ObjectName is fully configurable
allowing for flexible registration settings.
All registered MBeans are tracked and can be unregistered by calling
the #unregisterBeans() method.
Sub-classes can receive notifications when an MBean is registered or
unregistered by overriding the onRegister(ObjectName) and
onUnregister(ObjectName) methods respectively.
By default, the registration process will fail if attempting to
register an MBean using a ObjectName that is
already used.
By setting the registrationPolicy
property to RegistrationPolicy.IGNORE_EXISTING the registration process
will simply ignore existing MBeans leaving them registered. This is useful in settings
where multiple applications want to share a common MBean in a shared MBeanServer.
Setting registrationPolicy property
to RegistrationPolicy.REPLACE_EXISTING will cause existing MBeans to be replaced
during registration if necessary. This is useful in situations where you can't guarantee
the state of your MBeanServer.
- Since:
- 2.0
- Author:
- Rob Harrop, Juergen Hoeller, Phillip Webb
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final org.apache.commons.logging.LogLoginstance for this class.protected @Nullable MBeanServerTheMBeanServerinstance being used to register beans. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voiddoRegister(Object mbean, ObjectName objectName) Actually register the MBean with the server.protected voiddoUnregister(ObjectName objectName) Actually unregister the specified MBean from the server.protected final ObjectName[]Return theObjectNamesof all registered beans.final @Nullable MBeanServerReturn theMBeanServerthat the beans will be registered with.protected voidonRegister(ObjectName objectName) Called when an MBean is registered under the givenObjectName.protected voidonRegister(ObjectName objectName, Object mbean) Called when an MBean is registered under the givenObjectName.protected voidonUnregister(ObjectName objectName) Called when an MBean is unregistered under the givenObjectName.voidsetRegistrationPolicy(RegistrationPolicy registrationPolicy) The policy to use when attempting to register an MBean under anObjectNamethat already exists.voidsetServer(@Nullable MBeanServer server) Specify theMBeanServerinstance with which all beans should be registered.protected voidUnregisters all beans that have been registered by an instance of this class.
-
Field Details
-
logger
protected final org.apache.commons.logging.Log loggerLoginstance for this class. -
server
TheMBeanServerinstance being used to register beans.
-
-
Constructor Details
-
MBeanRegistrationSupport
public MBeanRegistrationSupport()
-
-
Method Details
-
setServer
Specify theMBeanServerinstance with which all beans should be registered. TheMBeanExporterwill attempt to locate an existingMBeanServerif none is supplied. -
getServer
Return theMBeanServerthat the beans will be registered with. -
setRegistrationPolicy
The policy to use when attempting to register an MBean under anObjectNamethat already exists.- Parameters:
registrationPolicy- the policy to use- Since:
- 3.2
-
doRegister
Actually register the MBean with the server. The behavior when encountering an existing MBean can be configured usingsetRegistrationPolicy(RegistrationPolicy).- Parameters:
mbean- the MBean instanceobjectName- the suggested ObjectName for the MBean- Throws:
JMException- if the registration failed
-
unregisterBeans
protected void unregisterBeans()Unregisters all beans that have been registered by an instance of this class. -
doUnregister
Actually unregister the specified MBean from the server.- Parameters:
objectName- the suggested ObjectName for the MBean
-
getRegisteredObjectNames
Return theObjectNamesof all registered beans. -
onRegister
Called when an MBean is registered under the givenObjectName. Allows subclasses to perform additional processing when an MBean is registered.The default implementation delegates to
onRegister(ObjectName).- Parameters:
objectName- the actualObjectNamethat the MBean was registered withmbean- the registered MBean instance
-
onRegister
Called when an MBean is registered under the givenObjectName. Allows subclasses to perform additional processing when an MBean is registered.The default implementation is empty. Can be overridden in subclasses.
- Parameters:
objectName- the actualObjectNamethat the MBean was registered with
-
onUnregister
Called when an MBean is unregistered under the givenObjectName. Allows subclasses to perform additional processing when an MBean is unregistered.The default implementation is empty. Can be overridden in subclasses.
- Parameters:
objectName- theObjectNamethat the MBean was registered with
-