You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2011/10/05 11:46:31 UTC
svn commit: r1179126 - in /camel/branches/camel-2.8.x: ./
camel-core/src/main/java/org/apache/camel/processor/
camel-core/src/test/java/org/apache/camel/processor/
Author: davsclaus
Date: Wed Oct 5 09:46:31 2011
New Revision: 1179126
URL: http://svn.apache.org/viewvc?rev=1179126&view=rev
Log:
CAMEL-4509: Marshal/unmarshal should clear OUT message case of exception thrown.
Added:
camel/branches/camel-2.8.x/camel-core/src/test/java/org/apache/camel/processor/DeadLetterChannelSetHeaderTest.java
- copied unchanged from r1179125, camel/trunk/camel-core/src/test/java/org/apache/camel/processor/DeadLetterChannelSetHeaderTest.java
camel/branches/camel-2.8.x/camel-core/src/test/java/org/apache/camel/processor/DeadLetterChannelUnmarshalSetHeaderTest.java
- copied unchanged from r1179125, camel/trunk/camel-core/src/test/java/org/apache/camel/processor/DeadLetterChannelUnmarshalSetHeaderTest.java
Modified:
camel/branches/camel-2.8.x/ (props changed)
camel/branches/camel-2.8.x/camel-core/src/main/java/org/apache/camel/processor/MarshalProcessor.java
camel/branches/camel-2.8.x/camel-core/src/main/java/org/apache/camel/processor/UnmarshalProcessor.java
Propchange: camel/branches/camel-2.8.x/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Oct 5 09:46:31 2011
@@ -1 +1 @@
-/camel/trunk:1178509
+/camel/trunk:1178509,1179125
Propchange: camel/branches/camel-2.8.x/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.
Modified: camel/branches/camel-2.8.x/camel-core/src/main/java/org/apache/camel/processor/MarshalProcessor.java
URL: http://svn.apache.org/viewvc/camel/branches/camel-2.8.x/camel-core/src/main/java/org/apache/camel/processor/MarshalProcessor.java?rev=1179126&r1=1179125&r2=1179126&view=diff
==============================================================================
--- camel/branches/camel-2.8.x/camel-core/src/main/java/org/apache/camel/processor/MarshalProcessor.java (original)
+++ camel/branches/camel-2.8.x/camel-core/src/main/java/org/apache/camel/processor/MarshalProcessor.java Wed Oct 5 09:46:31 2011
@@ -54,9 +54,15 @@ public class MarshalProcessor extends Se
Message out = exchange.getOut();
out.copyFrom(in);
- dataFormat.marshal(exchange, body, buffer);
- byte[] data = buffer.toByteArray();
- out.setBody(data);
+ try {
+ dataFormat.marshal(exchange, body, buffer);
+ byte[] data = buffer.toByteArray();
+ out.setBody(data);
+ } catch (Exception e) {
+ // remove OUT message, as an exception occurred
+ exchange.setOut(null);
+ throw e;
+ }
}
@Override
Modified: camel/branches/camel-2.8.x/camel-core/src/main/java/org/apache/camel/processor/UnmarshalProcessor.java
URL: http://svn.apache.org/viewvc/camel/branches/camel-2.8.x/camel-core/src/main/java/org/apache/camel/processor/UnmarshalProcessor.java?rev=1179126&r1=1179125&r2=1179126&view=diff
==============================================================================
--- camel/branches/camel-2.8.x/camel-core/src/main/java/org/apache/camel/processor/UnmarshalProcessor.java (original)
+++ camel/branches/camel-2.8.x/camel-core/src/main/java/org/apache/camel/processor/UnmarshalProcessor.java Wed Oct 5 09:46:31 2011
@@ -26,6 +26,7 @@ import org.apache.camel.Processor;
import org.apache.camel.impl.ServiceSupport;
import org.apache.camel.spi.DataFormat;
import org.apache.camel.util.ExchangeHelper;
+import org.apache.camel.util.IOHelper;
import org.apache.camel.util.ObjectHelper;
import org.apache.camel.util.ServiceHelper;
@@ -55,10 +56,12 @@ public class UnmarshalProcessor extends
Object result = dataFormat.unmarshal(exchange, stream);
out.setBody(result);
+ } catch (Exception e) {
+ // remove OUT message, as an exception occurred
+ exchange.setOut(null);
+ throw e;
} finally {
- if (stream != null) {
- stream.close();
- }
+ IOHelper.close(stream, "input stream");
}
}