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 2020/01/27 14:53:46 UTC

[camel] 02/02: CAMEL-14354: camel-core optimize

This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit ef1c918d2ace41b0ca0af7ceda89821c6959aed3
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Mon Jan 27 15:31:59 2020 +0100

    CAMEL-14354: camel-core optimize
---
 .../main/java/org/apache/camel/processor/WireTapProcessor.java | 10 +++++++---
 .../main/java/org/apache/camel/support/DefaultConsumer.java    | 10 ++--------
 2 files changed, 9 insertions(+), 11 deletions(-)

diff --git a/core/camel-base/src/main/java/org/apache/camel/processor/WireTapProcessor.java b/core/camel-base/src/main/java/org/apache/camel/processor/WireTapProcessor.java
index 4e9a47b..00588e7 100644
--- a/core/camel-base/src/main/java/org/apache/camel/processor/WireTapProcessor.java
+++ b/core/camel-base/src/main/java/org/apache/camel/processor/WireTapProcessor.java
@@ -23,6 +23,7 @@ import java.util.concurrent.ExecutorService;
 import java.util.concurrent.atomic.LongAdder;
 
 import org.apache.camel.AsyncCallback;
+import org.apache.camel.AsyncProcessor;
 import org.apache.camel.CamelContext;
 import org.apache.camel.CamelContextAware;
 import org.apache.camel.Exchange;
@@ -44,6 +45,7 @@ import org.apache.camel.support.DefaultExchange;
 import org.apache.camel.support.ExchangeHelper;
 import org.apache.camel.support.service.ServiceHelper;
 import org.apache.camel.util.ObjectHelper;
+import org.apache.camel.util.URISupport;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -61,6 +63,7 @@ public class WireTapProcessor extends AsyncProcessorSupport implements Traceable
     private final String uri;
     private final boolean dynamicUri;
     private final Processor processor;
+    private final AsyncProcessor asyncProcessor;
     private final ExchangePattern exchangePattern;
     private final ExecutorService executorService;
     private volatile boolean shutdownExecutorService;
@@ -78,6 +81,7 @@ public class WireTapProcessor extends AsyncProcessorSupport implements Traceable
         this.dynamicProcessor = dynamicProcessor;
         this.uri = dynamicProcessor.getUri();
         this.processor = processor;
+        this.asyncProcessor = AsyncProcessorConverterHelper.convert(processor);
         this.exchangePattern = exchangePattern;
         ObjectHelper.notNull(executorService, "executorService");
         this.executorService = executorService;
@@ -167,9 +171,10 @@ public class WireTapProcessor extends AsyncProcessorSupport implements Traceable
         executorService.submit(() -> {
             taskCount.increment();
             LOG.debug(">>>> (wiretap) {} {}", uri, wireTapExchange);
-            AsyncProcessorConverterHelper.convert(processor).process(wireTapExchange, doneSync -> {
+            asyncProcessor.process(wireTapExchange, doneSync -> {
                 if (wireTapExchange.getException() != null) {
-                    LOG.warn("Error occurred during processing " + wireTapExchange + " wiretap to " + uri + ". This exception will be ignored.", wireTapExchange.getException());
+                    String u = URISupport.sanitizeUri(uri);
+                    LOG.warn("Error occurred during processing " + wireTapExchange + " wiretap to " + u + ". This exception will be ignored.", wireTapExchange.getException());
                 }
                 taskCount.decrement();
             });
@@ -180,7 +185,6 @@ public class WireTapProcessor extends AsyncProcessorSupport implements Traceable
         return true;
     }
 
-
     protected Exchange configureExchange(Exchange exchange, ExchangePattern pattern) throws IOException {
         Exchange answer;
         if (copy) {
diff --git a/core/camel-support/src/main/java/org/apache/camel/support/DefaultConsumer.java b/core/camel-support/src/main/java/org/apache/camel/support/DefaultConsumer.java
index 10bce1c..d8791dd 100644
--- a/core/camel-support/src/main/java/org/apache/camel/support/DefaultConsumer.java
+++ b/core/camel-support/src/main/java/org/apache/camel/support/DefaultConsumer.java
@@ -44,7 +44,7 @@ public class DefaultConsumer extends ServiceSupport implements Consumer, RouteAw
     private transient String consumerToString;
     private final Endpoint endpoint;
     private final Processor processor;
-    private volatile AsyncProcessor asyncProcessor;
+    private final AsyncProcessor asyncProcessor;
     private ExceptionHandler exceptionHandler;
     private Route route;
     private String routeId;
@@ -52,6 +52,7 @@ public class DefaultConsumer extends ServiceSupport implements Consumer, RouteAw
     public DefaultConsumer(Endpoint endpoint, Processor processor) {
         this.endpoint = endpoint;
         this.processor = processor;
+        this.asyncProcessor = AsyncProcessorConverterHelper.convert(processor);
         this.exceptionHandler = new LoggingExceptionHandler(endpoint.getCamelContext(), getClass());
     }
 
@@ -136,13 +137,6 @@ public class DefaultConsumer extends ServiceSupport implements Consumer, RouteAw
      * it will be adapted so that it does.
      */
     public AsyncProcessor getAsyncProcessor() {
-        if (asyncProcessor == null) {
-            synchronized (this) {
-                if (asyncProcessor == null) {
-                    asyncProcessor = AsyncProcessorConverterHelper.convert(processor);
-                }
-            }
-        }
         return asyncProcessor;
     }