[jboss-cvs] JBossCache/src/org/jboss/cache/util ...
Jerry Gauthier
jgauthier at novell.com
Thu Apr 19 18:04:46 EDT 2007
User: jerrygauth
Date: 07/04/19 18:04:46
Modified: src/org/jboss/cache/util Tag: Branch_JBossCache_1_4_0
MBeanConfigurator.java
Log:
JBCACHE-1025, JBossCache mbean registration fails on WebSphere
Revision Changes Path
No revision
No revision
1.6.4.1 +55 -10 JBossCache/src/org/jboss/cache/util/Attic/MBeanConfigurator.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: MBeanConfigurator.java
===================================================================
RCS file: /cvsroot/jboss/JBossCache/src/org/jboss/cache/util/Attic/MBeanConfigurator.java,v
retrieving revision 1.6
retrieving revision 1.6.4.1
diff -u -b -r1.6 -r1.6.4.1
--- MBeanConfigurator.java 31 Mar 2006 17:49:28 -0000 1.6
+++ MBeanConfigurator.java 19 Apr 2007 22:04:46 -0000 1.6.4.1
@@ -21,6 +21,8 @@
*/
package org.jboss.cache.util;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
import org.jboss.cache.TreeCache;
import org.jboss.cache.interceptors.BaseInterceptor;
import org.jboss.cache.interceptors.Interceptor;
@@ -32,13 +34,14 @@
/**
* JBoss cache management configurator
* @author Jerry Gauthier
- * @version $Id: MBeanConfigurator.java,v 1.6 2006/03/31 17:49:28 jerrygauth Exp $
+ * @version $Id: MBeanConfigurator.java,v 1.6.4.1 2007/04/19 22:04:46 jerrygauth Exp $
*/
public class MBeanConfigurator
{
private static final String MBEAN_CLASS_SUFFIX = "MBean";
private static final String MBEAN_KEY = ",treecache-interceptor=";
private static final String PREFIX = "jboss.cache:service=";
+ private static final Log LOG = LogFactory.getLog(MBeanConfigurator.class);
/*
* Register the associated mbeans for cache interceptors
@@ -69,8 +72,22 @@
{
ObjectName tmpObj = new ObjectName(tmpName);
if (!server.isRegistered(tmpObj))
+ {
+ // under some circumstances, this block may be executed on WebSphere when the name is already registered
+ try
+ {
server.registerMBean(cache, tmpObj);
}
+ catch (Exception e)
+ {
+ LOG.warn("mbean registration failed for " + tmpObj.getCanonicalName() + "; " + e.toString());
+ }
+ }
+ else
+ {
+ LOG.warn("mbean " + tmpObj.getCanonicalName() + " already registered");
+ }
+ }
for(int i = 0; i < interceptors.size(); i++)
{
@@ -95,6 +112,9 @@
ObjectName objName = new ObjectName(serviceName);
if (!server.isRegistered(objName))
{
+ // under some circumstances, this block may be executed on WebSphere when the name is already registered
+ try
+ {
if (mbeanExists)
// register associated interceptor mbean
server.registerMBean(interceptor, objName);
@@ -102,6 +122,15 @@
// register dummy interceptor mbean
server.registerMBean(new BaseInterceptor(), objName);
}
+ catch (Exception e)
+ {
+ LOG.warn("mbean registration failed for " + objName.getCanonicalName() + "; " + e.toString());
+ }
+ }
+ else
+ {
+ LOG.warn("mbean " + objName.getCanonicalName() + " already registered");
+ }
}
}
@@ -141,15 +170,31 @@
ObjectName objName = new ObjectName(serviceName);
if (server.isRegistered(objName))
+ try
+ {
server.unregisterMBean(objName);
}
+ catch (Exception e)
+ {
+ // this shouldn't occur; if it does somehow, we don't want to stop the deregistration process
+ LOG.warn("mbean deregistration failed for " + objName.getCanonicalName() + "; " + e.toString());
+ }
+ }
// unregister the cache itself
if (unregisterCache)
{
ObjectName tmpObj = new ObjectName(tmpName);
if (server.isRegistered(tmpObj))
+ try
+ {
server.unregisterMBean(tmpObj);
}
+ catch (Exception e)
+ {
+ // this shouldn't occur; if it does somehow, we don't want to stop the deregistration process
+ LOG.warn("mbean deregistration failed for " + tmpObj.getCanonicalName() + "; " + e.toString());
+ }
+ }
}
}
More information about the jboss-cvs-commits
mailing list