You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by or...@apache.org on 2024/01/09 12:27:15 UTC

(camel) 03/05: CAMEL-20297 camel-direct: do not swallow interrupted exceptions

This is an automated email from the ASF dual-hosted git repository.

orpiske pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 1fe5f138249f1ac6d17cdb24eb6490fca3526742
Author: Otavio Rodolfo Piske <an...@gmail.com>
AuthorDate: Tue Jan 9 11:54:11 2024 +0000

    CAMEL-20297 camel-direct: do not swallow interrupted exceptions
---
 .../java/org/apache/camel/component/direct/DirectProducer.java     | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/components/camel-direct/src/main/java/org/apache/camel/component/direct/DirectProducer.java b/components/camel-direct/src/main/java/org/apache/camel/component/direct/DirectProducer.java
index e441881de72..714d00e673e 100644
--- a/components/camel-direct/src/main/java/org/apache/camel/component/direct/DirectProducer.java
+++ b/components/camel-direct/src/main/java/org/apache/camel/component/direct/DirectProducer.java
@@ -96,6 +96,13 @@ public class DirectProducer extends DefaultAsyncProducer {
                     return consumer.getAsyncProcessor().process(exchange, callback);
                 }
             }
+        } catch (InterruptedException e) {
+            LOG.info("Interrupted while processing the exchange");
+            Thread.currentThread().interrupt();
+
+            exchange.setException(e);
+            callback.done(true);
+            return true;
         } catch (Exception e) {
             exchange.setException(e);
             callback.done(true);