[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