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/20 11:00:36 UTC
[camel] branch master updated: CAMEL-14354: Optimize core
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
The following commit(s) were added to refs/heads/master by this push:
new 8c62825 CAMEL-14354: Optimize core
8c62825 is described below
commit 8c6282555956e0ffbd83289ecec2c36a12e0c79b
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Sun Jan 19 12:02:18 2020 +0100
CAMEL-14354: Optimize core
---
.../java/org/apache/camel/processor/Pipeline.java | 22 ++++++++++++++--------
.../org/apache/camel/processor/PipelineHelper.java | 4 +++-
2 files changed, 17 insertions(+), 9 deletions(-)
diff --git a/core/camel-base/src/main/java/org/apache/camel/processor/Pipeline.java b/core/camel-base/src/main/java/org/apache/camel/processor/Pipeline.java
index 8e2f5f3..6b94f5f 100644
--- a/core/camel-base/src/main/java/org/apache/camel/processor/Pipeline.java
+++ b/core/camel-base/src/main/java/org/apache/camel/processor/Pipeline.java
@@ -82,16 +82,16 @@ public class Pipeline extends AsyncProcessorSupport implements Navigate<Processo
@Override
public boolean process(Exchange exchange, AsyncCallback callback) {
if (exchange.isTransacted()) {
- camelContext.getReactiveExecutor().scheduleSync(() -> Pipeline.this.doProcess(exchange, callback, processors, 0, true));
+ camelContext.getReactiveExecutor().scheduleSync(() -> Pipeline.this.doProcess(exchange, callback, processors, 0));
} else {
- camelContext.getReactiveExecutor().scheduleMain(() -> Pipeline.this.doProcess(exchange, callback, processors, 0, true));
+ camelContext.getReactiveExecutor().scheduleMain(() -> Pipeline.this.doProcess(exchange, callback, processors, 0));
}
return false;
}
- protected void doProcess(Exchange exchange, AsyncCallback callback, List<AsyncProcessor> processors, int index, boolean first) {
+ protected void doProcess(Exchange exchange, AsyncCallback callback, List<AsyncProcessor> processors, int index) {
if (continueRouting(processors, index, exchange)
- && (first || continueProcessing(exchange, "so breaking out of pipeline", log))) {
+ && (index == 0 || continueProcessing(exchange, "so breaking out of pipeline", log))) {
// prepare for next run
ExchangeHelper.prepareOutToIn(exchange);
@@ -101,14 +101,16 @@ public class Pipeline extends AsyncProcessorSupport implements Navigate<Processo
final Integer idx = index + 1;
processor.process(exchange, doneSync ->
- camelContext.getReactiveExecutor().schedule(() -> doProcess(exchange, callback, processors, idx, false)));
+ camelContext.getReactiveExecutor().schedule(() -> doProcess(exchange, callback, processors, idx)));
} else {
ExchangeHelper.copyResults(exchange, exchange);
// logging nextExchange as it contains the exchange that might have altered the payload and since
// we are logging the completion if will be confusing if we log the original instead
// we could also consider logging the original and the nextExchange then we have *before* and *after* snapshots
- log.trace("Processing complete for exchangeId: {} >>> {}", exchange.getExchangeId(), exchange);
+ if (log.isTraceEnabled()) {
+ log.trace("Processing complete for exchangeId: {} >>> {}", exchange.getExchangeId(), exchange);
+ }
camelContext.getReactiveExecutor().schedule(callback);
}
@@ -119,13 +121,17 @@ public class Pipeline extends AsyncProcessorSupport implements Navigate<Processo
if (stop != null) {
boolean doStop = exchange.getContext().getTypeConverter().convertTo(Boolean.class, stop);
if (doStop) {
- log.debug("ExchangeId: {} is marked to stop routing: {}", exchange.getExchangeId(), exchange);
+ if (log.isTraceEnabled()) {
+ log.debug("ExchangeId: {} is marked to stop routing: {}", exchange.getExchangeId(), exchange);
+ }
return false;
}
}
// continue if there are more processors to route
boolean answer = index < processors.size();
- log.trace("ExchangeId: {} should continue routing: {}", exchange.getExchangeId(), answer);
+ if (log.isTraceEnabled()) {
+ log.trace("ExchangeId: {} should continue routing: {}", exchange.getExchangeId(), answer);
+ }
return answer;
}
diff --git a/core/camel-base/src/main/java/org/apache/camel/processor/PipelineHelper.java b/core/camel-base/src/main/java/org/apache/camel/processor/PipelineHelper.java
index b80e590..d29deba 100644
--- a/core/camel-base/src/main/java/org/apache/camel/processor/PipelineHelper.java
+++ b/core/camel-base/src/main/java/org/apache/camel/processor/PipelineHelper.java
@@ -67,7 +67,9 @@ public final class PipelineHelper {
if (stop != null) {
boolean doStop = exchange.getContext().getTypeConverter().convertTo(Boolean.class, exchange, stop);
if (doStop) {
- log.debug("ExchangeId: {} is marked to stop routing: {}", exchange.getExchangeId(), exchange);
+ if (log.isDebugEnabled()) {
+ log.debug("ExchangeId: {} is marked to stop routing: {}", exchange.getExchangeId(), exchange);
+ }
return false;
}
}