Author: ffang
Date: Mon Sep  6 12:45:19 2010
New Revision: 993012

URL: http://svn.apache.org/viewvc?rev=993012&view=rev
Log:
Merged revisions 993010 via svnmerge from 
https://svn.apache.org/repos/asf/cxf/trunk

........
  r993010 | ffang | 2010-09-06 20:37:08 +0800 (δΈ€, 06  9 2010) | 1 line
  
  [CXF-2975]ChainInitiationObserver lack synchronization which could causes 
continuations to malfunction for some rare scenario
........

Added:
    
cxf/branches/2.2.x-fixes/systests/transports/src/test/java/org/apache/cxf/systest/jms/continuations/HWSoapMessageDocProvider.java
      - copied unchanged from r993010, 
cxf/trunk/systests/transports/src/test/java/org/apache/cxf/systest/jms/continuations/HWSoapMessageDocProvider.java
    
cxf/branches/2.2.x-fixes/systests/transports/src/test/java/org/apache/cxf/systest/jms/continuations/IncomingMessageCounterInterceptor.java
      - copied unchanged from r993010, 
cxf/trunk/systests/transports/src/test/java/org/apache/cxf/systest/jms/continuations/IncomingMessageCounterInterceptor.java
    
cxf/branches/2.2.x-fixes/systests/transports/src/test/java/org/apache/cxf/systest/jms/continuations/ProviderJMSContinuationTest.java
      - copied unchanged from r993010, 
cxf/trunk/systests/transports/src/test/java/org/apache/cxf/systest/jms/continuations/ProviderJMSContinuationTest.java
    
cxf/branches/2.2.x-fixes/systests/transports/src/test/java/org/apache/cxf/systest/jms/continuations/ProviderServer.java
      - copied unchanged from r993010, 
cxf/trunk/systests/transports/src/test/java/org/apache/cxf/systest/jms/continuations/ProviderServer.java
    
cxf/branches/2.2.x-fixes/systests/transports/src/test/java/org/apache/cxf/systest/jms/continuations/resources/
      - copied from r993010, 
cxf/trunk/systests/transports/src/test/java/org/apache/cxf/systest/jms/continuations/resources/
    
cxf/branches/2.2.x-fixes/systests/transports/src/test/java/org/apache/cxf/systest/jms/continuations/resources/GreetMeDocLiteralResp.xml
      - copied unchanged from r993010, 
cxf/trunk/systests/transports/src/test/java/org/apache/cxf/systest/jms/continuations/resources/GreetMeDocLiteralResp.xml
Modified:
    cxf/branches/2.2.x-fixes/   (props changed)
    
cxf/branches/2.2.x-fixes/rt/core/src/main/java/org/apache/cxf/transport/ChainInitiationObserver.java

Propchange: cxf/branches/2.2.x-fixes/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.

Modified: 
cxf/branches/2.2.x-fixes/rt/core/src/main/java/org/apache/cxf/transport/ChainInitiationObserver.java
URL: 
http://svn.apache.org/viewvc/cxf/branches/2.2.x-fixes/rt/core/src/main/java/org/apache/cxf/transport/ChainInitiationObserver.java?rev=993012&r1=993011&r2=993012&view=diff
==============================================================================
--- 
cxf/branches/2.2.x-fixes/rt/core/src/main/java/org/apache/cxf/transport/ChainInitiationObserver.java
 (original)
+++ 
cxf/branches/2.2.x-fixes/rt/core/src/main/java/org/apache/cxf/transport/ChainInitiationObserver.java
 Mon Sep  6 12:45:19 2010
@@ -64,9 +64,11 @@ public class ChainInitiationObserver imp
             
             if (m.getInterceptorChain() instanceof PhaseInterceptorChain) {
                 phaseChain = (PhaseInterceptorChain)m.getInterceptorChain();
-                if (phaseChain.getState() == InterceptorChain.State.PAUSED) {
-                    phaseChain.resume();
-                    return;
+                synchronized (phaseChain) {
+                    if (phaseChain.getState() == 
InterceptorChain.State.PAUSED) {
+                        phaseChain.resume();
+                        return;
+                    }
                 }
             }
             


Reply via email to