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);
+ }
}
}