You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-commits@axis.apache.org by az...@apache.org on 2011/03/08 12:43:17 UTC

svn commit: r1079330 - /axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/clustering/state/Replicator.java

Author: azeez
Date: Tue Mar  8 11:43:17 2011
New Revision: 1079330

URL: http://svn.apache.org/viewvc?rev=1079330&view=rev
Log:
ConcurrentModificationExceptions can occur if the same AbstractContext instance is tried to be replicated while it is currently being serialized to the stream

Modified:
    axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/clustering/state/Replicator.java

Modified: axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/clustering/state/Replicator.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/clustering/state/Replicator.java?rev=1079330&r1=1079329&r2=1079330&view=diff
==============================================================================
--- axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/clustering/state/Replicator.java (original)
+++ axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/clustering/state/Replicator.java Tue Mar  8 11:43:17 2011
@@ -95,7 +95,9 @@ public final class Replicator {
         log.debug("Going to replicate state in " + abstractContext + "...");
         StateManager stateManager = getContextManager(abstractContext);
         if (!abstractContext.getPropertyDifferences().isEmpty()) {
-            stateManager.updateContext(abstractContext);
+            synchronized (abstractContext) {
+                stateManager.updateContext(abstractContext);
+            }
         }
     }