[jboss-cvs] JBossCache/src/org/jboss/cache/eviction ...
Manik Surtani
manik at jboss.org
Tue Mar 6 16:16:49 EST 2007
User: msurtani
Date: 07/03/06 16:16:49
Modified: src/org/jboss/cache/eviction Tag: Branch_JBossCache_1_4_0
RegionManager.java
Log:
JBCACHE-826
Revision Changes Path
No revision
No revision
1.16.2.4 +16 -11 JBossCache/src/org/jboss/cache/eviction/Attic/RegionManager.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: RegionManager.java
===================================================================
RCS file: /cvsroot/jboss/JBossCache/src/org/jboss/cache/eviction/Attic/RegionManager.java,v
retrieving revision 1.16.2.3
retrieving revision 1.16.2.4
diff -u -b -r1.16.2.3 -r1.16.2.4
--- RegionManager.java 28 Feb 2007 18:37:05 -0000 1.16.2.3
+++ RegionManager.java 6 Mar 2007 21:16:49 -0000 1.16.2.4
@@ -13,6 +13,8 @@
import org.jboss.cache.Fqn;
import org.jboss.cache.TreeCache;
import org.jboss.cache.TreeCacheListener;
+import org.jboss.cache.marshall.*;
+import org.jboss.cache.marshall.Region;
import org.jboss.cache.optimistic.FqnComparator;
import org.jboss.cache.xml.XmlHelper;
import org.jgroups.View;
@@ -25,6 +27,11 @@
import java.util.HashMap;
import java.util.Map;
import java.util.Timer;
+import java.util.Set;
+import java.util.TreeSet;
+import java.util.Iterator;
+
+import EDU.oswego.cs.dl.util.concurrent.ConcurrentHashMap;
/**
* Factory to create region from configuration, to track region,
@@ -34,7 +41,7 @@
*
* @author Ben Wang 02-2004
* @author Daniel Huang (dhuang at jboss.org)
- * @version $Id: RegionManager.java,v 1.16.2.3 2007/02/28 18:37:05 msurtani Exp $
+ * @version $Id: RegionManager.java,v 1.16.2.4 2007/03/06 21:16:49 msurtani Exp $
*/
public class RegionManager
{
@@ -48,7 +55,7 @@
public final static Fqn DEFAULT_REGION = new Fqn("_default_");
private static final Log log_ = LogFactory.getLog(RegionManager.class);
- private final Map regionMap_ = Collections.synchronizedMap(new HashMap());
+ private final Map regionMap_ = new ConcurrentHashMap();
private int longestFqn = 0;
private Timer evictionThread_;
@@ -113,13 +120,10 @@
private void addRegion(Fqn fqn, Region region) throws RegionNameConflictException
{
- synchronized (regionMap_)
- {
checkConflict(fqn);
regionMap_.put(fqn, region);
longestFqn = Math.max(longestFqn, fqn.size());
}
- }
/**
* Create a region based on fqn.
@@ -307,9 +311,10 @@
*/
public Region[] getRegions()
{
- Region r[] = (Region[]) regionMap_.values().toArray(new Region[]{});
- Arrays.sort(r, new RegionComparator());
- return r;
+ Set s = new TreeSet(new RegionComparator());
+ for (Iterator i = regionMap_.values().iterator(); i.hasNext();) s.add(i.next());
+
+ return (org.jboss.cache.marshall.Region[]) s.toArray(new Region[]{});
}
/**
More information about the jboss-cvs-commits
mailing list