Author: hadrian
Date: Tue Jan 17 04:59:51 2012
New Revision: 1232305
URL: http://svn.apache.org/viewvc?rev=1232305&view=rev
Log:
CAMEL-4603. Do not propagate attachments on split messages.
Modified:
camel/trunk/camel-core/src/main/java/org/apache/camel/processor/Splitter.java
camel/trunk/camel-core/src/test/java/org/apache/camel/builder/ExpressionClauseTest.java
Modified:
camel/trunk/camel-core/src/main/java/org/apache/camel/processor/Splitter.java
URL:
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/Splitter.java?rev=1232305&r1=1232304&r2=1232305&view=diff
==============================================================================
---
camel/trunk/camel-core/src/main/java/org/apache/camel/processor/Splitter.java
(original)
+++
camel/trunk/camel-core/src/main/java/org/apache/camel/processor/Splitter.java
Tue Jan 17 04:59:51 2012
@@ -125,7 +125,7 @@ public class Splitter extends MulticastP
return new Iterable<ProcessorExchangePair>() {
// create a copy which we use as master to copy during splitting
// this avoids any side effect reflected upon the incoming exchange
- private final Exchange copy = ExchangeHelper.createCopy(exchange,
true);
+ private final Exchange copy = copyExchangeNoAttachments(exchange,
true);
private final RouteContext routeContext = exchange.getUnitOfWork()
!= null ? exchange.getUnitOfWork().getRouteContext() : null;
public Iterator<ProcessorExchangePair> iterator() {
@@ -220,4 +220,10 @@ public class Splitter extends MulticastP
public Expression getExpression() {
return expression;
}
+
+ static private Exchange copyExchangeNoAttachments(Exchange exchange,
boolean preserveExchangeId) {
+ Exchange answer = ExchangeHelper.createCopy(exchange,
preserveExchangeId);
+ answer.getIn().setAttachments(null);
+ return answer;
+ }
}
Modified:
camel/trunk/camel-core/src/test/java/org/apache/camel/builder/ExpressionClauseTest.java
URL:
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/builder/ExpressionClauseTest.java?rev=1232305&r1=1232304&r2=1232305&view=diff
==============================================================================
---
camel/trunk/camel-core/src/test/java/org/apache/camel/builder/ExpressionClauseTest.java
(original)
+++
camel/trunk/camel-core/src/test/java/org/apache/camel/builder/ExpressionClauseTest.java
Tue Jan 17 04:59:51 2012
@@ -16,6 +16,8 @@
*/
package org.apache.camel.builder;
+import java.util.Map;
+
import javax.activation.DataHandler;
import javax.activation.DataSource;
import javax.activation.FileDataSource;
@@ -28,6 +30,7 @@ import org.apache.camel.Processor;
import org.apache.camel.component.bean.pojomessage.Person;
import
org.apache.camel.component.bean.pojomessage.PojoProxyHelperRequestReplyTest.PersonHandler;
import org.apache.camel.component.mock.MockEndpoint;
+import org.apache.camel.util.ObjectHelper;
/**
* @version
@@ -60,6 +63,8 @@ public class ExpressionClauseTest extend
});
assertMockEndpointsSatisfied();
+ Map<String, DataHandler> attachments =
mock.getExchanges().get(0).getIn().getAttachments();
+ assertTrue(attachments == null || attachments.size() == 0);
}
@Override