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:28 UTC
[camel] 10/12: CAMEL-15105: move the interrupted 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 760c15b059494712a07c96940c5bb4e5b380e271
Author: Otavio Rodolfo Piske <an...@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