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 2021/02/27 20:47:53 UTC
[camel] 02/02: camel-core - Small optimization in pipeline
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 28f7d4567bb6eb419ed245d171c783e8e727dfbb
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Sat Feb 27 21:41:07 2021 +0100
camel-core - Small optimization in pipeline
---
.../src/main/java/org/apache/camel/processor/Pipeline.java | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/core/camel-core-processor/src/main/java/org/apache/camel/processor/Pipeline.java b/core/camel-core-processor/src/main/java/org/apache/camel/processor/Pipeline.java
index aeb396d..0beeea6 100644
--- a/core/camel-core-processor/src/main/java/org/apache/camel/processor/Pipeline.java
+++ b/core/camel-core-processor/src/main/java/org/apache/camel/processor/Pipeline.java
@@ -57,7 +57,7 @@ public class Pipeline extends AsyncProcessorSupport implements Navigate<Processo
private String id;
private String routeId;
- private final class PipelineTask implements Runnable {
+ private final class PipelineTask implements Runnable, AsyncCallback {
private final Exchange exchange;
private final AsyncCallback callback;
@@ -70,6 +70,11 @@ public class Pipeline extends AsyncProcessorSupport implements Navigate<Processo
}
@Override
+ public void done(boolean doneSync) {
+ reactiveExecutor.schedule(this);
+ }
+
+ @Override
public void run() {
boolean stop = exchange.isRouteStop();
int num = index.get();
@@ -87,7 +92,7 @@ public class Pipeline extends AsyncProcessorSupport implements Navigate<Processo
// get the next processor
AsyncProcessor processor = processors.get(index.getAndIncrement());
- processor.process(exchange, doneSync -> reactiveExecutor.schedule(this));
+ processor.process(exchange, this);
} else {
ExchangeHelper.copyResults(exchange, exchange);