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;
}