[jboss-cvs] JBossCache/src/org/jboss/cache/jmx ...
Brian Stansberry
brian.stansberry at jboss.com
Tue Nov 14 16:54:00 EST 2006
User: bstansberry
Date: 06/11/14 16:54:00
Modified: src/org/jboss/cache/jmx CacheJmxWrapper.java
Log:
Ensure proper function whether or not wrapped cache is available during mbean registration.
Revision Changes Path
1.6 +44 -23 JBossCache/src/org/jboss/cache/jmx/CacheJmxWrapper.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: CacheJmxWrapper.java
===================================================================
RCS file: /cvsroot/jboss/JBossCache/src/org/jboss/cache/jmx/CacheJmxWrapper.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- CacheJmxWrapper.java 13 Nov 2006 04:40:37 -0000 1.5
+++ CacheJmxWrapper.java 14 Nov 2006 21:54:00 -0000 1.6
@@ -45,6 +45,7 @@
private String cacheObjectName;
private boolean selfConstructed = false;
private boolean registeredInterceptorsInCreate;
+ private boolean interceptorsRegistered;
private boolean created;
// -------------------------------------------------------- CacheJMXWrapperMBean
@@ -82,14 +83,10 @@
if (selfConstructed)
{
tcpi.create();
-
- if (server != null)
- {
- JmxUtil.registerInterceptors(server, tcpi.getInterceptorChain(), cacheObjectName);
- registeredInterceptorsInCreate = true;
- }
}
+ registeredInterceptorsInCreate = registerInterceptors();
+
created = true;
}
@@ -110,6 +107,7 @@
if (selfConstructed)
{
tcpi.destroy();
+
if (registeredInterceptorsInCreate)
{
unregisterInterceptors();
@@ -144,6 +142,7 @@
cacheObjectName = objName.getCanonicalName();
}
}
+
return new ObjectName(cacheObjectName);
}
@@ -153,11 +152,15 @@
*/
public void postRegister(Boolean registrationDone)
{
- if (Boolean.TRUE.equals(registrationDone) && registerInterceptors && tcpi != null)
+ if (Boolean.TRUE.equals(registrationDone))
+ {
+ log.debug("Registered in JMX under " + cacheObjectName);
+
+ if (tcpi != null)
{
try
{
- JmxUtil.registerInterceptors(server, tcpi.getInterceptorChain(), cacheObjectName);
+ registerInterceptors();
}
catch (Exception e)
{
@@ -165,6 +168,7 @@
}
}
}
+ }
/**
* No-op.
@@ -179,10 +183,9 @@
*/
public void postDeregister()
{
- if (registerInterceptors)
- {
unregisterInterceptors();
- }
+
+ server = null;
}
// --------------------------------------------------------------- Public methods
@@ -249,20 +252,38 @@
private void constructCache() throws Exception
{
+ log.debug("Constructing Cache");
setCache(DefaultCacheFactory.createCache(config, false));
selfConstructed = true;
}
+ private boolean registerInterceptors() throws Exception
+ {
+ if (registerInterceptors && !interceptorsRegistered && server != null)
+ {
+ log.debug("Registering interceptors");
+ JmxUtil.registerInterceptors(server, tcpi.getInterceptorChain(), cacheObjectName);
+ interceptorsRegistered = true;
+ return true;
+ }
+ return false;
+ }
+
private void unregisterInterceptors()
{
+ if (registerInterceptors && interceptorsRegistered && server != null)
+ {
try
{
+ log.debug("Unreqistering interceptors");
JmxUtil.unregisterInterceptors(server, tcpi.getInterceptorChain(), getCacheObjectName());
+ interceptorsRegistered = false;
}
catch (Exception e)
{
log.error("Exception unregistering interceptors from JMX", e);
}
}
+ }
}
More information about the jboss-cvs-commits
mailing list