[exo-jcr-commits] exo-jcr SVN: r2229 - jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/jbosscache.
do-not-reply at jboss.org
do-not-reply at jboss.org
Thu Apr 8 08:42:10 EDT 2010
Author: nzamosenchuk
Date: 2010-04-08 08:42:09 -0400 (Thu, 08 Apr 2010)
New Revision: 2229
Modified:
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/jbosscache/JBossCacheWorkspaceStorageCache.java
Log:
EXOJCR-545: Configuration analyzer re-written.
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/jbosscache/JBossCacheWorkspaceStorageCache.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/jbosscache/JBossCacheWorkspaceStorageCache.java 2010-04-08 11:39:53 UTC (rev 2228)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/jbosscache/JBossCacheWorkspaceStorageCache.java 2010-04-08 12:42:09 UTC (rev 2229)
@@ -42,7 +42,7 @@
import org.jboss.cache.Fqn;
import org.jboss.cache.Node;
import org.jboss.cache.config.EvictionRegionConfig;
-import org.jboss.cache.eviction.ExpirationAlgorithm;
+import org.jboss.cache.eviction.ExpirationAlgorithmConfig;
import java.io.Serializable;
import java.util.ArrayList;
@@ -287,22 +287,16 @@
evictionConfigurations.add(parentCache.getConfiguration().getEvictionConfig().getDefaultEvictionRegionConfig());
boolean useExpiration = false;
- Iterator<EvictionRegionConfig> iterator = evictionConfigurations.iterator();
-
// looking over all eviction configurations till the end or till some expiration algorithm subclass not found.
- while (iterator.hasNext() && !useExpiration)
+ for (EvictionRegionConfig evictionRegionConfig : evictionConfigurations)
{
- try
+ if (evictionRegionConfig.getEvictionAlgorithmConfig() instanceof ExpirationAlgorithmConfig)
{
- String evictionClassName = iterator.next().getEvictionAlgorithmConfig().getEvictionAlgorithmClassName();
- Class<?> evictionClass = Class.forName(evictionClassName);
- // returns true if ExpirationAlgorithm is superClass of evictionClass
- useExpiration = useExpiration || ExpirationAlgorithm.class.isAssignableFrom(evictionClass);
+ // force set expiration key to default value in all Expiration configurations (if any)
+ ((ExpirationAlgorithmConfig)evictionRegionConfig.getEvictionAlgorithmConfig())
+ .setExpirationKeyName(ExpirationAlgorithmConfig.EXPIRATION_KEY);
+ useExpiration = true;
}
- catch (ClassNotFoundException e)
- {
- throw new RepositoryConfigurationException("Unable to check JBossCache eviction class.", e);
- }
}
if (useExpiration)
More information about the exo-jcr-commits
mailing list