Author: fhanik
Date: Thu Dec 14 09:19:24 2006
New Revision: 487262

URL: http://svn.apache.org/viewvc?view=rev&rev=487262
Log:
Use a concurrent hashmap as a base class instead

Modified:
    
tomcat/tc6.0.x/trunk/java/org/apache/catalina/ha/context/ReplicatedContext.java
    
tomcat/tc6.0.x/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java

Modified: 
tomcat/tc6.0.x/trunk/java/org/apache/catalina/ha/context/ReplicatedContext.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/catalina/ha/context/ReplicatedContext.java?view=diff&rev=487262&r1=487261&r2=487262
==============================================================================
--- 
tomcat/tc6.0.x/trunk/java/org/apache/catalina/ha/context/ReplicatedContext.java 
(original)
+++ 
tomcat/tc6.0.x/trunk/java/org/apache/catalina/ha/context/ReplicatedContext.java 
Thu Dec 14 09:19:24 2006
@@ -27,6 +27,7 @@
 import javax.servlet.ServletContext;
 import java.util.HashMap;
 import org.apache.catalina.tribes.tipis.LazyReplicatedMap;
+import java.util.AbstractMap;
 
 /**
  * @author Filip Hanik
@@ -113,10 +114,10 @@
              return super.getFacade();
         }
         
-        public HashMap getAttributeMap() {
-            return (HashMap)this.attributes;
+        public AbstractMap getAttributeMap() {
+            return (AbstractMap)this.attributes;
         }
-        public void setAttributeMap(HashMap map) {
+        public void setAttributeMap(AbstractMap map) {
             this.attributes = map;
         }
 

Modified: 
tomcat/tc6.0.x/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java?view=diff&rev=487262&r1=487261&r2=487262
==============================================================================
--- 
tomcat/tc6.0.x/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java
 (original)
+++ 
tomcat/tc6.0.x/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java
 Thu Dec 14 09:19:24 2006
@@ -47,13 +47,14 @@
 import org.apache.juli.logging.Log;
 import org.apache.juli.logging.LogFactory;
 import java.util.ConcurrentModificationException;
+import java.util.concurrent.ConcurrentHashMap;
 
 /**
  *
  * @author Filip Hanik
  * @version 1.0
  */
-public abstract class AbstractReplicatedMap extends LinkedHashMap implements 
RpcCallback, ChannelListener, MembershipListener, Heartbeat {
+public abstract class AbstractReplicatedMap extends ConcurrentHashMap 
implements RpcCallback, ChannelListener, MembershipListener, Heartbeat {
     protected static Log log = LogFactory.getLog(AbstractReplicatedMap.class);
 
     /**
@@ -159,7 +160,7 @@
                                  float loadFactor,
                                  int channelSendOptions,
                                  ClassLoader[] cls) {
-        super(initialCapacity, loadFactor);
+        super(initialCapacity, loadFactor, 15);
         init(owner, channel, mapContextName, timeout, channelSendOptions, cls);
         
     }
@@ -958,7 +959,7 @@
             //todo, implement a counter variable instead
             //only count active members in this node
             int counter = 0;
-            Iterator it = 
Collections.unmodifiableSet(super.entrySet()).iterator();
+            Iterator it = super.entrySet().iterator();
             while (it.hasNext() ) {
                 Map.Entry e = (Map.Entry) it.next();
                 if ( e != null ) {



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to