Repository: camel Updated Branches: refs/heads/master 661f6f392 -> e53b636e3
Optimise - Fix log component to be async routing friendly. Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/043b3bd8 Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/043b3bd8 Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/043b3bd8 Branch: refs/heads/master Commit: 043b3bd8533482bf8e5e226db6f85ad6a27ffe6e Parents: 661f6f3 Author: Claus Ibsen <davscl...@apache.org> Authored: Thu Jun 1 19:29:10 2017 +0200 Committer: Claus Ibsen <davscl...@apache.org> Committed: Thu Jun 1 19:29:10 2017 +0200 ---------------------------------------------------------------------- .../org/apache/camel/component/log/LogProducer.java | 15 +++++---------- .../apache/camel/component/log/LogEndpointTest.java | 5 +++-- 2 files changed, 8 insertions(+), 12 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/043b3bd8/camel-core/src/main/java/org/apache/camel/component/log/LogProducer.java ---------------------------------------------------------------------- diff --git a/camel-core/src/main/java/org/apache/camel/component/log/LogProducer.java b/camel-core/src/main/java/org/apache/camel/component/log/LogProducer.java index ce40c66..291d3a5 100644 --- a/camel-core/src/main/java/org/apache/camel/component/log/LogProducer.java +++ b/camel-core/src/main/java/org/apache/camel/component/log/LogProducer.java @@ -17,32 +17,27 @@ package org.apache.camel.component.log; import org.apache.camel.AsyncCallback; +import org.apache.camel.AsyncProcessor; import org.apache.camel.Endpoint; import org.apache.camel.Exchange; import org.apache.camel.Processor; import org.apache.camel.impl.DefaultAsyncProducer; +import org.apache.camel.util.AsyncProcessorConverterHelper; /** * Log producer. */ public class LogProducer extends DefaultAsyncProducer { - private final Processor logger; + private final AsyncProcessor logger; public LogProducer(Endpoint endpoint, Processor logger) { super(endpoint); - this.logger = logger; + this.logger = AsyncProcessorConverterHelper.convert(logger); } public boolean process(Exchange exchange, AsyncCallback callback) { - try { - logger.process(exchange); - } catch (Exception e) { - exchange.setException(e); - } finally { - callback.done(true); - } - return true; + return logger.process(exchange, callback); } public Processor getLogger() { http://git-wip-us.apache.org/repos/asf/camel/blob/043b3bd8/camel-core/src/test/java/org/apache/camel/component/log/LogEndpointTest.java ---------------------------------------------------------------------- diff --git a/camel-core/src/test/java/org/apache/camel/component/log/LogEndpointTest.java b/camel-core/src/test/java/org/apache/camel/component/log/LogEndpointTest.java index 010c13d..c53a293 100644 --- a/camel-core/src/test/java/org/apache/camel/component/log/LogEndpointTest.java +++ b/camel-core/src/test/java/org/apache/camel/component/log/LogEndpointTest.java @@ -16,6 +16,7 @@ */ package org.apache.camel.component.log; +import org.apache.camel.AsyncCallback; import org.apache.camel.ContextTestSupport; import org.apache.camel.Exchange; import org.apache.camel.builder.RouteBuilder; @@ -32,9 +33,9 @@ public class LogEndpointTest extends ContextTestSupport { private static class MyLogger extends CamelLogProcessor { @Override - public void process(Exchange exchange) throws Exception { - super.process(exchange); + public boolean process(Exchange exchange, AsyncCallback callback) { logged = exchange; + return super.process(exchange, callback); } @Override