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

Reply via email to