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 {

Reply via email to