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 2023/04/26 17:58:27 UTC

[camel] 09/12: CAMEL-15105: move the interruptable flag to the extension

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 382a201fbbbb9443a8d8110e97a55c85a901be3c
Author: Otavio Rodolfo Piske <an...@gmail.com>
AuthorDate: Wed Apr 26 18:42:52 2023 +0200

    CAMEL-15105: move the interruptable flag to the extension
---
 .../src/main/java/org/apache/camel/support/AbstractExchange.java   | 3 +--
 .../main/java/org/apache/camel/support/DefaultPooledExchange.java  | 2 +-
 .../java/org/apache/camel/support/ExtendedExchangeExtension.java   | 7 ++++++-
 3 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/core/camel-support/src/main/java/org/apache/camel/support/AbstractExchange.java b/core/camel-support/src/main/java/org/apache/camel/support/AbstractExchange.java
index 1c204d3444e..28e267bbf82 100644
--- a/core/camel-support/src/main/java/org/apache/camel/support/AbstractExchange.java
+++ b/core/camel-support/src/main/java/org/apache/camel/support/AbstractExchange.java
@@ -74,7 +74,6 @@ class AbstractExchange implements Exchange {
     boolean rollbackOnly;
     boolean rollbackOnlyLast;
     boolean interrupted;
-    boolean interruptable = true;
     AsyncCallback defaultConsumerCallback; // optimize (do not reset)
     Map<String, SafeCopyProperty> safeCopyProperties;
     private final ExtendedExchangeExtension privateExtension;
@@ -747,7 +746,7 @@ class AbstractExchange implements Exchange {
     }
 
     void setInterrupted(boolean interrupted) {
-        if (interruptable) {
+        if (privateExtension.isInterruptable()) {
             this.interrupted = interrupted;
         }
     }
diff --git a/core/camel-support/src/main/java/org/apache/camel/support/DefaultPooledExchange.java b/core/camel-support/src/main/java/org/apache/camel/support/DefaultPooledExchange.java
index f0028d111eb..74e4a16ac52 100644
--- a/core/camel-support/src/main/java/org/apache/camel/support/DefaultPooledExchange.java
+++ b/core/camel-support/src/main/java/org/apache/camel/support/DefaultPooledExchange.java
@@ -118,7 +118,7 @@ public final class DefaultPooledExchange extends AbstractExchange implements Poo
             this.rollbackOnlyLast = false;
             getExchangeExtension().setNotifyEvent(false);
             this.interrupted = false;
-            this.interruptable = true;
+            getExchangeExtension().setInterruptable(true);
             getExchangeExtension().setRedeliveryExhausted(false);
             getExchangeExtension().setErrorHandlerHandled(null);
             getExchangeExtension().setStreamCacheDisabled(false);
diff --git a/core/camel-support/src/main/java/org/apache/camel/support/ExtendedExchangeExtension.java b/core/camel-support/src/main/java/org/apache/camel/support/ExtendedExchangeExtension.java
index e20fed36bf0..34836f3de90 100644
--- a/core/camel-support/src/main/java/org/apache/camel/support/ExtendedExchangeExtension.java
+++ b/core/camel-support/src/main/java/org/apache/camel/support/ExtendedExchangeExtension.java
@@ -41,6 +41,7 @@ public class ExtendedExchangeExtension implements ExchangeExtension {
     private String historyNodeLabel;
     private boolean transacted;
     private boolean notifyEvent;
+    private boolean interruptable = true;
 
     ExtendedExchangeExtension(AbstractExchange exchange) {
         this.exchange = exchange;
@@ -200,7 +201,11 @@ public class ExtendedExchangeExtension implements ExchangeExtension {
 
     @Override
     public void setInterruptable(boolean interruptable) {
-        this.exchange.interruptable = interruptable;
+        this.interruptable = interruptable;
+    }
+
+    public boolean isInterruptable() {
+        return interruptable;
     }
 
     @Override