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 2017/02/20 09:07:39 UTC
camel git commit: CAMEL-10851: Original Message should preserve
exchange from where it belongs.
Repository: camel
Updated Branches:
refs/heads/master d02be6fb3 -> 052fcc601
CAMEL-10851: Original Message should preserve exchange from where it belongs.
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/052fcc60
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/052fcc60
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/052fcc60
Branch: refs/heads/master
Commit: 052fcc601c672ff169152103558ab761a1071f89
Parents: d02be6f
Author: Claus Ibsen <da...@apache.org>
Authored: Mon Feb 20 10:07:41 2017 +0100
Committer: Claus Ibsen <da...@apache.org>
Committed: Mon Feb 20 10:07:41 2017 +0100
----------------------------------------------------------------------
.../src/main/java/org/apache/camel/impl/DefaultUnitOfWork.java | 4 ++++
.../impl/DefaultCamelContextAllowUseOriginalMessageTrueTest.java | 1 +
.../java/org/apache/camel/impl/OriginalMessageProcessor.java | 1 +
3 files changed, 6 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/052fcc60/camel-core/src/main/java/org/apache/camel/impl/DefaultUnitOfWork.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/impl/DefaultUnitOfWork.java b/camel-core/src/main/java/org/apache/camel/impl/DefaultUnitOfWork.java
index ae46435..75a798e 100644
--- a/camel-core/src/main/java/org/apache/camel/impl/DefaultUnitOfWork.java
+++ b/camel-core/src/main/java/org/apache/camel/impl/DefaultUnitOfWork.java
@@ -90,6 +90,10 @@ public class DefaultUnitOfWork implements UnitOfWork, Service {
} else {
this.originalInMessage = exchange.getIn().copy();
}
+ // must preserve exchange on the original in message
+ if (this.originalInMessage instanceof MessageSupport) {
+ ((MessageSupport) this.originalInMessage).setExchange(exchange);
+ }
}
// mark the creation time when this Exchange was created
http://git-wip-us.apache.org/repos/asf/camel/blob/052fcc60/camel-core/src/test/java/org/apache/camel/impl/DefaultCamelContextAllowUseOriginalMessageTrueTest.java
----------------------------------------------------------------------
diff --git a/camel-core/src/test/java/org/apache/camel/impl/DefaultCamelContextAllowUseOriginalMessageTrueTest.java b/camel-core/src/test/java/org/apache/camel/impl/DefaultCamelContextAllowUseOriginalMessageTrueTest.java
index f1adf4a..ff0ab36 100644
--- a/camel-core/src/test/java/org/apache/camel/impl/DefaultCamelContextAllowUseOriginalMessageTrueTest.java
+++ b/camel-core/src/test/java/org/apache/camel/impl/DefaultCamelContextAllowUseOriginalMessageTrueTest.java
@@ -33,6 +33,7 @@ public class DefaultCamelContextAllowUseOriginalMessageTrueTest extends ContextT
getMockEndpoint("mock:result").expectedBodiesReceived("Bye World");
getMockEndpoint("mock:result").expectedHeaderReceived("HasOriginal", "true");
getMockEndpoint("mock:result").expectedHeaderReceived("OriginalBody", "World");
+ getMockEndpoint("mock:result").message(0).header("OriginalExchangeId").isNotNull();
template.sendBody("direct:start", "World");
http://git-wip-us.apache.org/repos/asf/camel/blob/052fcc60/camel-core/src/test/java/org/apache/camel/impl/OriginalMessageProcessor.java
----------------------------------------------------------------------
diff --git a/camel-core/src/test/java/org/apache/camel/impl/OriginalMessageProcessor.java b/camel-core/src/test/java/org/apache/camel/impl/OriginalMessageProcessor.java
index 3b7ffd5..4e3ddbf 100644
--- a/camel-core/src/test/java/org/apache/camel/impl/OriginalMessageProcessor.java
+++ b/camel-core/src/test/java/org/apache/camel/impl/OriginalMessageProcessor.java
@@ -33,6 +33,7 @@ public class OriginalMessageProcessor implements Processor {
} else {
exchange.getIn().setHeader("HasOriginal", "true");
exchange.getIn().setHeader("OriginalBody", original.getBody());
+ exchange.getIn().setHeader("OriginalExchangeId", original.getExchange().getExchangeId());
}
}