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);
}
}