[jbosscache-commits] JBoss Cache SVN: r6206 - in core/trunk/src/main/java/org/jboss/cache: factories and 1 other directory.
jbosscache-commits at lists.jboss.org
jbosscache-commits at lists.jboss.org
Tue Jul 8 06:46:20 EDT 2008
Author: manik.surtani at jboss.com
Date: 2008-07-08 06:46:19 -0400 (Tue, 08 Jul 2008)
New Revision: 6206
Added:
core/trunk/src/main/java/org/jboss/cache/RegionRegistry.java
Modified:
core/trunk/src/main/java/org/jboss/cache/RegionManagerImpl.java
core/trunk/src/main/java/org/jboss/cache/factories/EmptyConstructorFactory.java
Log:
Created a separate, non-volatile RegionsRegistry class to hold regions.
Modified: core/trunk/src/main/java/org/jboss/cache/RegionManagerImpl.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/RegionManagerImpl.java 2008-07-08 10:23:48 UTC (rev 6205)
+++ core/trunk/src/main/java/org/jboss/cache/RegionManagerImpl.java 2008-07-08 10:46:19 UTC (rev 6206)
@@ -24,9 +24,7 @@
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
-import java.util.Map;
import java.util.Set;
-import java.util.concurrent.ConcurrentHashMap;
/**
* The default region manager, used with MVCC locking.
@@ -44,10 +42,7 @@
*/
public static final Fqn<?> DEFAULT_REGION = Fqn.fromString("/_default_");
- /**
- * A registry of regions that have been defined.
- */
- private final Map<Fqn, Region> regionsRegistry = new ConcurrentHashMap<Fqn, Region>();
+ private RegionRegistry regionsRegistry;
private boolean defaultInactive;
private final Log log = LogFactory.getLog(RegionManagerImpl.class);
CacheSPI cache;
@@ -64,13 +59,14 @@
@Inject
void injectDependencies(CacheSPI cache, Configuration configuration, RPCManager rpcManager, LockManager lockManager,
- BuddyFqnTransformer transformer)
+ BuddyFqnTransformer transformer, RegionRegistry regionsRegistry)
{
this.cache = cache;
this.rpcManager = rpcManager;
this.configuration = configuration;
this.lockManager = lockManager;
this.buddyFqnTransformer = transformer;
+ this.regionsRegistry = regionsRegistry;
}
@Start
@@ -472,13 +468,8 @@
*
* @param fqn Fqn string indicating the uppermost node in the
* portion of the cache that should be activated.
- * @throws RegionNameConflictException if <code>subtreeFqn</code> indicates
- * a node that is part of another
- * subtree that is being specially
- * managed (either by activate/inactiveRegion()
- * or by registerClassLoader())
- * @throws CacheException if there is a problem evicting nodes
- * @throws IllegalStateException if {@link org.jboss.cache.config.Configuration#isUseRegionBasedMarshalling()} is <code>false</code>
+ * @throws CacheException if there is a problem evicting nodes
+ * @throws IllegalStateException if {@link org.jboss.cache.config.Configuration#isUseRegionBasedMarshalling()} is <code>false</code>
*/
private void inactivateRegion(Fqn fqn) throws CacheException
{
Added: core/trunk/src/main/java/org/jboss/cache/RegionRegistry.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/RegionRegistry.java (rev 0)
+++ core/trunk/src/main/java/org/jboss/cache/RegionRegistry.java 2008-07-08 10:46:19 UTC (rev 6206)
@@ -0,0 +1,21 @@
+package org.jboss.cache;
+
+import org.jboss.cache.factories.annotations.NonVolatile;
+
+import java.util.concurrent.ConcurrentHashMap;
+
+/**
+ * An extension of the ConcurrentHashMap that acts as a container for regions.
+ *
+ * @author Manik Surtani (<a href="mailto:manik at jboss.org">manik at jboss.org</a>)
+ * @since 3.0
+ */
+ at NonVolatile
+public class RegionRegistry extends ConcurrentHashMap<Fqn, Region>
+{
+ public RegionRegistry()
+ {
+ // default CHM constructor. Potentially fine-tune later?
+ super();
+ }
+}
Modified: core/trunk/src/main/java/org/jboss/cache/factories/EmptyConstructorFactory.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/factories/EmptyConstructorFactory.java 2008-07-08 10:23:48 UTC (rev 6205)
+++ core/trunk/src/main/java/org/jboss/cache/factories/EmptyConstructorFactory.java 2008-07-08 10:46:19 UTC (rev 6206)
@@ -1,6 +1,7 @@
package org.jboss.cache.factories;
import org.jboss.cache.DataContainer;
+import org.jboss.cache.RegionRegistry;
import org.jboss.cache.buddyreplication.BuddyFqnTransformer;
import org.jboss.cache.config.ConfigurationException;
import org.jboss.cache.factories.annotations.DefaultFactoryFor;
@@ -21,7 +22,7 @@
* @author Manik Surtani (<a href="mailto:manik at jboss.org">manik at jboss.org</a>)
* @since 2.1.0
*/
- at DefaultFactoryFor(classes = {Notifier.class, MVCCNodeHelper.class,
+ at DefaultFactoryFor(classes = {Notifier.class, MVCCNodeHelper.class, RegionRegistry.class,
ChannelMessageListener.class, CacheLoaderManager.class, Marshaller.class, InvocationContextContainer.class,
CacheInvocationDelegate.class, TransactionTable.class, DataContainer.class,
LockStrategyFactory.class, BuddyFqnTransformer.class})
More information about the jbosscache-commits
mailing list