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 760c15b059494712a07c96940c5bb4e5b380e271 Author: Otavio Rodolfo Piske <angusyo...@gmail.com> AuthorDate: Wed Apr 26 18:46:05 2023 +0200 CAMEL-15105: move the interrupted flag to the extension --- .../main/java/org/apache/camel/support/AbstractExchange.java | 9 +-------- .../java/org/apache/camel/support/DefaultPooledExchange.java | 2 +- .../org/apache/camel/support/ExtendedExchangeExtension.java | 11 +++++------ 3 files changed, 7 insertions(+), 15 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 28e267bbf82..be7d6bb6d97 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 @@ -73,7 +73,6 @@ class AbstractExchange implements Exchange { boolean routeStop; boolean rollbackOnly; boolean rollbackOnlyLast; - boolean interrupted; AsyncCallback defaultConsumerCallback; // optimize (do not reset) Map<String, SafeCopyProperty> safeCopyProperties; private final ExtendedExchangeExtension privateExtension; @@ -583,7 +582,7 @@ class AbstractExchange implements Exchange { } if (t instanceof InterruptedException) { // mark the exchange as interrupted due to the interrupt exception - setInterrupted(true); + privateExtension.setInterrupted(true); } } @@ -745,12 +744,6 @@ class AbstractExchange implements Exchange { return answer; } - void setInterrupted(boolean interrupted) { - if (privateExtension.isInterruptable()) { - this.interrupted = interrupted; - } - } - /** * Configures the message after it has been set on the exchange */ 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 74e4a16ac52..5b0dbc2795f 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 @@ -117,7 +117,7 @@ public final class DefaultPooledExchange extends AbstractExchange implements Poo this.rollbackOnly = false; this.rollbackOnlyLast = false; getExchangeExtension().setNotifyEvent(false); - this.interrupted = false; + getExchangeExtension().setInterrupted(false); getExchangeExtension().setInterruptable(true); getExchangeExtension().setRedeliveryExhausted(false); getExchangeExtension().setErrorHandlerHandled(null); 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 34836f3de90..e72395c2989 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 @@ -42,6 +42,7 @@ public class ExtendedExchangeExtension implements ExchangeExtension { private boolean transacted; private boolean notifyEvent; private boolean interruptable = true; + private boolean interrupted; ExtendedExchangeExtension(AbstractExchange exchange) { this.exchange = exchange; @@ -204,18 +205,16 @@ public class ExtendedExchangeExtension implements ExchangeExtension { this.interruptable = interruptable; } - public boolean isInterruptable() { - return interruptable; - } - @Override public boolean isInterrupted() { - return this.exchange.interrupted; + return this.interrupted; } @Override public void setInterrupted(boolean interrupted) { - this.exchange.setInterrupted(interrupted); + if (interruptable) { + this.interrupted = interrupted; + } } @Override