CAMEL-6537: Fixed RoutingSlip EIP to call done on callback for sync case which was missing.
Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/6484f09d Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/6484f09d Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/6484f09d Branch: refs/heads/master Commit: 6484f09d78b05253ad1341a94a0d735f742b59d4 Parents: f51eb9a Author: Claus Ibsen <davscl...@apache.org> Authored: Wed Jul 10 16:07:53 2013 +0200 Committer: Claus Ibsen <davscl...@apache.org> Committed: Wed Jul 10 16:07:53 2013 +0200 ---------------------------------------------------------------------- .../src/main/java/org/apache/camel/processor/RoutingSlip.java | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/6484f09d/camel-core/src/main/java/org/apache/camel/processor/RoutingSlip.java ---------------------------------------------------------------------- diff --git a/camel-core/src/main/java/org/apache/camel/processor/RoutingSlip.java b/camel-core/src/main/java/org/apache/camel/processor/RoutingSlip.java index ce3048d..cd4a864 100644 --- a/camel-core/src/main/java/org/apache/camel/processor/RoutingSlip.java +++ b/camel-core/src/main/java/org/apache/camel/processor/RoutingSlip.java @@ -284,10 +284,11 @@ public class RoutingSlip extends ServiceSupport implements AsyncProcessor, Trace exchange.setProperty(Exchange.TO_ENDPOINT, endpoint.getEndpointUri()); exchange.setProperty(Exchange.SLIP_ENDPOINT, endpoint.getEndpointUri()); - boolean sync = asyncProducer.process(exchange, new AsyncCallback() { + return asyncProducer.process(exchange, new AsyncCallback() { public void done(boolean doneSync) { // we only have to handle async completion of the routing slip if (doneSync) { + callback.done(doneSync); return; } @@ -347,9 +348,6 @@ public class RoutingSlip extends ServiceSupport implements AsyncProcessor, Trace callback.done(false); } }); - - callback.done(sync); - return sync; } });