You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by ff...@apache.org on 2010/09/06 14:45:19 UTC

svn commit: r993012 - in /cxf/branches/2.2.x-fixes: ./ rt/core/src/main/java/org/apache/cxf/transport/ systests/transports/src/test/java/org/apache/cxf/systest/jms/continuations/ systests/transports/src/test/java/org/apache/cxf/systest/jms/continuation...

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