[exo-jcr-commits] exo-jcr SVN: r5997 - jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/lock/jbosscache.

do-not-reply at jboss.org do-not-reply at jboss.org
Fri Mar 30 08:08:29 EDT 2012


Author: areshetnyak
Date: 2012-03-30 08:08:29 -0400 (Fri, 30 Mar 2012)
New Revision: 5997

Modified:
   jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/lock/jbosscache/ControllerCacheLoader.java
Log:
EXOJCR-1804 : Problem in CacheableLockManagerImpl (JbossCache) with  not loading data from cache loader after second start repository (stop and start on repository) in "jbosscache-shareable" mode was fixed.

Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/lock/jbosscache/ControllerCacheLoader.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/lock/jbosscache/ControllerCacheLoader.java	2012-03-30 08:35:05 UTC (rev 5996)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/lock/jbosscache/ControllerCacheLoader.java	2012-03-30 12:08:29 UTC (rev 5997)
@@ -53,13 +53,7 @@
    /**
     *  Thread local parameter for allow direct access to the data from cache loader. 
     */
-   private ThreadLocal<Boolean> allowDirectAccess = new ThreadLocal<Boolean>(){
-      @Override
-      protected Boolean initialValue()
-      {
-         return false;
-      }
-   };
+   private final ThreadLocal<Boolean> allowDirectAccess = new ThreadLocal<Boolean>();
 	
    /**
     * The nested cache loader
@@ -115,7 +109,7 @@
             return cl.exists(name);
          }
       }
-      else if (allowDirectAccess.get())
+      else if (allowDirectAccess.get() != null && allowDirectAccess.get())
       {
          return cl.exists(name);
       }
@@ -147,7 +141,7 @@
             return cl.get(name);
          }
       }
-      else if (allowDirectAccess.get())
+      else if (allowDirectAccess.get() != null && allowDirectAccess.get())
       {
          return cl.get(name);
       }
@@ -341,7 +335,7 @@
    */
    protected void disableDirectAccess()
    {
-      allowDirectAccess.set(false);
+      allowDirectAccess.set(null);
    }
   
 }



More information about the exo-jcr-commits mailing list