This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch exchange-factory in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/exchange-factory by this push: new eb76f7b CAMEL-16222: PooledExchangeFactory experiment eb76f7b is described below commit eb76f7b1b23738aadd27ca28cd89f55c21a8254c Author: Claus Ibsen <claus.ib...@gmail.com> AuthorDate: Fri Feb 19 16:54:47 2021 +0100 CAMEL-16222: PooledExchangeFactory experiment --- .../camel/component/timer/TimerConsumer.java | 25 +++++++++++----------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/components/camel-timer/src/main/java/org/apache/camel/component/timer/TimerConsumer.java b/components/camel-timer/src/main/java/org/apache/camel/component/timer/TimerConsumer.java index 996e228..8fd997c 100644 --- a/components/camel-timer/src/main/java/org/apache/camel/component/timer/TimerConsumer.java +++ b/components/camel-timer/src/main/java/org/apache/camel/component/timer/TimerConsumer.java @@ -22,11 +22,7 @@ import java.util.TimerTask; import java.util.concurrent.ExecutorService; import java.util.concurrent.atomic.AtomicLong; -import org.apache.camel.CamelContext; -import org.apache.camel.Exchange; -import org.apache.camel.Processor; -import org.apache.camel.StartupListener; -import org.apache.camel.Suspendable; +import org.apache.camel.*; import org.apache.camel.support.DefaultConsumer; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -203,14 +199,17 @@ public class TimerConsumer extends DefaultConsumer implements StartupListener, S } if (!endpoint.isSynchronous()) { - getAsyncProcessor().process(exchange, cbDoneSync -> { - // handle any thrown exception - if (exchange.getException() != null) { - getExceptionHandler().handleException("Error processing exchange", exchange, exchange.getException()); - } - // sync wil release outside this callback - if (!cbDoneSync) { - releaseExchange(exchange, false); + getAsyncProcessor().process(exchange, new AsyncCallback() { + @Override + public void done(boolean cbDoneSync) { + // handle any thrown exception + if (exchange.getException() != null) { + TimerConsumer.this.getExceptionHandler().handleException("Error processing exchange", exchange, exchange.getException()); + } + // sync wil release outside this callback + if (!cbDoneSync) { + TimerConsumer.this.releaseExchange(exchange, false); + } } }); } else {