|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.springframework.jmx.support.MBeanRegistrationSupport
public class MBeanRegistrationSupport
Provides supporting infrastructure for registering MBeans with an
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 registrationBehaviorName
property to REGISTRATION_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 registrationBehaviorName
property
to REGISTRATION_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
.
setServer(javax.management.MBeanServer)
,
setRegistrationBehaviorName(java.lang.String)
,
MBeanExporter
Field Summary | |
---|---|
protected Log |
logger
Log instance for this class. |
protected Set |
registeredBeans
The beans that have been registered by this exporter. |
static int |
REGISTRATION_FAIL_ON_EXISTING
Constant indicating that registration should fail when attempting to register an MBean under a name that already exists. |
static int |
REGISTRATION_IGNORE_EXISTING
Constant indicating that registration should ignore the affected MBean when attempting to register an MBean under a name that already exists. |
static int |
REGISTRATION_REPLACE_EXISTING
Constant indicating that registration should replace the affected MBean when attempting to register an MBean under a name that already exists. |
protected MBeanServer |
server
The MBeanServer instance being used to register beans. |
Constructor Summary | |
---|---|
MBeanRegistrationSupport()
|
Method Summary | |
---|---|
protected void |
doRegister(Object mbean,
ObjectName objectName)
Actually register the MBean with the server. |
protected void |
doUnregister(ObjectName objectName)
Actually unregister the specified MBean from the server. |
protected ObjectName[] |
getRegisteredObjectNames()
Return the ObjectNames of all registered beans. |
MBeanServer |
getServer()
Return the MBeanServer that the beans will be registered with. |
protected void |
onRegister(ObjectName objectName)
Called when an MBean is registered under the given ObjectName . |
protected void |
onRegister(ObjectName objectName,
Object mbean)
Called when an MBean is registered under the given ObjectName . |
protected void |
onUnregister(ObjectName objectName)
Called when an MBean is unregistered under the given ObjectName . |
void |
setRegistrationBehavior(int registrationBehavior)
Specify what action should be taken when attempting to register an MBean under an ObjectName that already exists. |
void |
setRegistrationBehaviorName(String registrationBehavior)
Set the registration behavior by the name of the corresponding constant, e.g. |
void |
setServer(MBeanServer server)
Specify the MBeanServer instance with which all beans should
be registered. |
protected void |
unregisterBeans()
Unregisters all beans that have been registered by an instance of this class. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final int REGISTRATION_FAIL_ON_EXISTING
This is the default registration behavior.
public static final int REGISTRATION_IGNORE_EXISTING
public static final int REGISTRATION_REPLACE_EXISTING
protected final Log logger
Log
instance for this class.
protected MBeanServer server
MBeanServer
instance being used to register beans.
protected final Set registeredBeans
Constructor Detail |
---|
public MBeanRegistrationSupport()
Method Detail |
---|
public void setServer(MBeanServer server)
MBeanServer
instance with which all beans should
be registered. The MBeanExporter
will attempt to locate an
existing MBeanServer
if none is supplied.
public final MBeanServer getServer()
MBeanServer
that the beans will be registered with.
public void setRegistrationBehaviorName(String registrationBehavior)
setRegistrationBehavior(int)
,
REGISTRATION_FAIL_ON_EXISTING
,
REGISTRATION_IGNORE_EXISTING
,
REGISTRATION_REPLACE_EXISTING
public void setRegistrationBehavior(int registrationBehavior)
ObjectName
that already exists.
Default is REGISTRATION_FAIL_ON_EXISTING.
setRegistrationBehaviorName(String)
,
REGISTRATION_FAIL_ON_EXISTING
,
REGISTRATION_IGNORE_EXISTING
,
REGISTRATION_REPLACE_EXISTING
protected void doRegister(Object mbean, ObjectName objectName) throws JMException
setRegistrationBehavior(int)
and setRegistrationBehaviorName(String)
methods.
mbean
- the MBean instanceobjectName
- the suggested ObjectName for the MBean
JMException
- if the registration failedprotected void unregisterBeans()
protected void doUnregister(ObjectName objectName)
objectName
- the suggested ObjectName for the MBeanprotected final ObjectName[] getRegisteredObjectNames()
ObjectNames
of all registered beans.
protected void onRegister(ObjectName objectName, Object mbean)
ObjectName
. Allows
subclasses to perform additional processing when an MBean is registered.
The default implementation delegates to onRegister(ObjectName)
.
objectName
- the actual ObjectName
that the MBean was registered withmbean
- the registered MBean instanceprotected void onRegister(ObjectName objectName)
ObjectName
. Allows
subclasses to perform additional processing when an MBean is registered.
The default implementation is empty. Can be overridden in subclasses.
objectName
- the actual ObjectName
that the MBean was registered withprotected void onUnregister(ObjectName objectName)
ObjectName
. Allows
subclasses to perform additional processing when an MBean is unregistered.
The default implementation is empty. Can be overridden in subclasses.
objectName
- the ObjectName
that the MBean was registered with
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |