You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by dk...@apache.org on 2014/01/03 18:18:39 UTC

svn commit: r1555159 - /cxf/trunk/core/src/main/java/org/apache/cxf/interceptor/AbstractAttributedInterceptorProvider.java

Author: dkulp
Date: Fri Jan  3 17:18:39 2014
New Revision: 1555159

URL: http://svn.apache.org/r1555159
Log:
Use ConcurrentHashMap as parent to make sure setting properties on the services/endpoints at the same time messages are processed won't result in exceptions

Modified:
    cxf/trunk/core/src/main/java/org/apache/cxf/interceptor/AbstractAttributedInterceptorProvider.java

Modified: cxf/trunk/core/src/main/java/org/apache/cxf/interceptor/AbstractAttributedInterceptorProvider.java
URL: http://svn.apache.org/viewvc/cxf/trunk/core/src/main/java/org/apache/cxf/interceptor/AbstractAttributedInterceptorProvider.java?rev=1555159&r1=1555158&r2=1555159&view=diff
==============================================================================
--- cxf/trunk/core/src/main/java/org/apache/cxf/interceptor/AbstractAttributedInterceptorProvider.java (original)
+++ cxf/trunk/core/src/main/java/org/apache/cxf/interceptor/AbstractAttributedInterceptorProvider.java Fri Jan  3 17:18:39 2014
@@ -19,13 +19,13 @@
 
 package org.apache.cxf.interceptor;
 
-import java.util.HashMap;
 import java.util.List;
+import java.util.concurrent.ConcurrentHashMap;
 
 import org.apache.cxf.common.util.ModCountCopyOnWriteArrayList;
 import org.apache.cxf.message.Message;
 
-public abstract class AbstractAttributedInterceptorProvider extends HashMap<String, Object>
+public abstract class AbstractAttributedInterceptorProvider extends ConcurrentHashMap<String, Object>
     implements InterceptorProvider {
 
     private static final long serialVersionUID = -1915876045710441978L;
@@ -39,6 +39,13 @@ public abstract class AbstractAttributed
         = new ModCountCopyOnWriteArrayList<Interceptor<? extends Message>>();
 
     
+    public Object put(String s, Object o) {
+        if (o == null) {
+            return super.remove(s);
+        }
+        return super.put(s, o);
+    }
+    
     public List<Interceptor<? extends Message>> getOutFaultInterceptors() {
         return outFault;
     }