Author: areshetnyak
Date: 2012-03-12 10:20:30 -0400 (Mon, 12 Mar 2012)
New Revision: 5844
Modified:
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/lock/jbosscache/CacheableLockManagerImpl.java
Log:
EXOJCR-1758 : The problem with eviction and stoping cache on repository stop was fixed.
Modified:
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/lock/jbosscache/CacheableLockManagerImpl.java
===================================================================
---
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/lock/jbosscache/CacheableLockManagerImpl.java 2012-03-12
14:19:33 UTC (rev 5843)
+++
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/lock/jbosscache/CacheableLockManagerImpl.java 2012-03-12
14:20:30 UTC (rev 5844)
@@ -33,8 +33,8 @@
import org.exoplatform.services.jcr.impl.storage.jdbc.DBConstants;
import org.exoplatform.services.jcr.impl.storage.jdbc.DialectDetecter;
import org.exoplatform.services.jcr.jbosscache.ExoJBossCacheFactory;
+import org.exoplatform.services.jcr.jbosscache.PrivilegedJBossCacheHelper;
import org.exoplatform.services.jcr.jbosscache.ExoJBossCacheFactory.CacheType;
-import org.exoplatform.services.jcr.jbosscache.PrivilegedJBossCacheHelper;
import org.exoplatform.services.log.ExoLogger;
import org.exoplatform.services.log.Log;
import org.exoplatform.services.naming.InitialContextInitializer;
@@ -509,10 +509,18 @@
if (shareable)
{
- // The cache cannot be stopped since it can be shared so we evict the root node
instead
- cache.getNode(lockRoot).setResident(false);
- cache.evict(lockRoot, true);
- cache.getRegion(lockRoot, false).processEvictionQueues();
+ // The cache cannot be stopped since it can be shared so we remove the root node
instead
+ try
+ {
+
cache.getInvocationContext().getOptionOverrides().setSuppressPersistence(true);
+ cache.getInvocationContext().getOptionOverrides().setCacheModeLocal(true);
+ cache.removeNode(lockRoot);
+ }
+ finally
+ {
+
cache.getInvocationContext().getOptionOverrides().setSuppressPersistence(false);
+ cache.getInvocationContext().getOptionOverrides().setCacheModeLocal(false);
+ }
}
try
Show replies by date