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 <angusyo...@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