[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