Author: hadrian
Date: Fri Apr  8 01:08:39 2011
New Revision: 1090078

URL: http://svn.apache.org/viewvc?rev=1090078&view=rev
Log:
CAMEL-3792. Backport to camel-2.7.x

Added:
    
camel/branches/camel-2.7.x/camel-core/src/test/java/org/apache/camel/processor/onexception/OnExceptionUseOriginalMessageTest.java
      - copied unchanged from r1083696, 
camel/trunk/camel-core/src/test/java/org/apache/camel/processor/onexception/OnExceptionUseOriginalMessageTest.java
Modified:
    camel/branches/camel-2.7.x/   (props changed)
    
camel/branches/camel-2.7.x/camel-core/src/main/java/org/apache/camel/processor/RedeliveryErrorHandler.java
    camel/branches/camel-2.7.x/components/camel-http/   (props changed)

Propchange: camel/branches/camel-2.7.x/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Apr  8 01:08:39 2011
@@ -1 +1 @@
-/camel/trunk:1087856,1088583,1088916-1088917,1089275
+/camel/trunk:1083696,1087856,1088583,1088916-1088917,1089275

Modified: 
camel/branches/camel-2.7.x/camel-core/src/main/java/org/apache/camel/processor/RedeliveryErrorHandler.java
URL: 
http://svn.apache.org/viewvc/camel/branches/camel-2.7.x/camel-core/src/main/java/org/apache/camel/processor/RedeliveryErrorHandler.java?rev=1090078&r1=1090077&r2=1090078&view=diff
==============================================================================
--- 
camel/branches/camel-2.7.x/camel-core/src/main/java/org/apache/camel/processor/RedeliveryErrorHandler.java
 (original)
+++ 
camel/branches/camel-2.7.x/camel-core/src/main/java/org/apache/camel/processor/RedeliveryErrorHandler.java
 Fri Apr  8 01:08:39 2011
@@ -591,18 +591,23 @@ public abstract class RedeliveryErrorHan
         // is the a failure processor to process the Exchange
         if (processor != null) {
 
-            // reset cached streams so they can be read again
-            MessageHelper.resetStreamCache(exchange.getIn());
-
             // prepare original IN body if it should be moved instead of 
current body
             if (data.useOriginalInMessage) {
                 if (log.isTraceEnabled()) {
                     log.trace("Using the original IN message instead of 
current");
                 }
-
                 Message original = 
exchange.getUnitOfWork().getOriginalInMessage();
                 exchange.setIn(original);
+                if (exchange.hasOut()) {
+                    if (log.isTraceEnabled()) {
+                        log.trace("Removing the out message to avoid some 
uncertain behavior");
+                    }
+                    exchange.setOut(null);
+                }
             }
+            
+            // reset cached streams so they can be read again
+            MessageHelper.resetStreamCache(exchange.getIn());
 
             if (log.isTraceEnabled()) {
                 log.trace("Failure processor " + processor + " is processing 
Exchange: " + exchange);

Propchange: camel/branches/camel-2.7.x/components/camel-http/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Apr  8 01:08:39 2011
@@ -1 +1 @@
-/camel/trunk/components/camel-http:917526,1087856,1088583,1088916-1088917,1089275
+/camel/trunk/components/camel-http:917526,1083696,1087856,1088583,1088916-1088917,1089275


Reply via email to