This is an automated email from the ASF dual-hosted git repository. jamesnetherton pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/main by this push: new c896a4992e1 CAMEL-18668: Upgrade SmallRye Fault Tolerance to 5.6.0 c896a4992e1 is described below commit c896a4992e109547d87e9ac28fc5c78fd0e98c55 Author: James Netherton <jamesnether...@gmail.com> AuthorDate: Mon Nov 21 13:31:48 2022 +0000 CAMEL-18668: Upgrade SmallRye Fault Tolerance to 5.6.0 --- camel-dependencies/pom.xml | 2 +- .../faulttolerance/FaultToleranceProcessor.java | 15 +++++++++++++-- parent/pom.xml | 2 +- 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/camel-dependencies/pom.xml b/camel-dependencies/pom.xml index 3ab8cdf9c39..ce3b4769680 100644 --- a/camel-dependencies/pom.xml +++ b/camel-dependencies/pom.xml @@ -496,7 +496,7 @@ <slf4j-version>1.7.36</slf4j-version> <smack-version>4.3.5</smack-version> <smallrye-config-version>2.12.0</smallrye-config-version> - <smallrye-fault-tolerance-version>5.5.0</smallrye-fault-tolerance-version> + <smallrye-fault-tolerance-version>5.6.0</smallrye-fault-tolerance-version> <smallrye-health-version>3.3.0</smallrye-health-version> <smallrye-metrics-version>3.0.5</smallrye-metrics-version> <snakeyaml-engine-version>2.3</snakeyaml-engine-version> diff --git a/components/camel-microprofile/camel-microprofile-fault-tolerance/src/main/java/org/apache/camel/component/microprofile/faulttolerance/FaultToleranceProcessor.java b/components/camel-microprofile/camel-microprofile-fault-tolerance/src/main/java/org/apache/camel/component/microprofile/faulttolerance/FaultToleranceProcessor.java index 10112f11714..8ccaca4bab2 100644 --- a/components/camel-microprofile/camel-microprofile-fault-tolerance/src/main/java/org/apache/camel/component/microprofile/faulttolerance/FaultToleranceProcessor.java +++ b/components/camel-microprofile/camel-microprofile-fault-tolerance/src/main/java/org/apache/camel/component/microprofile/faulttolerance/FaultToleranceProcessor.java @@ -31,6 +31,7 @@ import io.smallrye.faulttolerance.core.stopwatch.SystemStopwatch; import io.smallrye.faulttolerance.core.timeout.ScheduledExecutorTimeoutWatcher; import io.smallrye.faulttolerance.core.timeout.Timeout; import io.smallrye.faulttolerance.core.timeout.TimeoutWatcher; +import io.smallrye.faulttolerance.core.timer.ThreadTimer; import io.smallrye.faulttolerance.core.util.ExceptionDecision; import org.apache.camel.AsyncCallback; import org.apache.camel.CamelContext; @@ -85,6 +86,8 @@ public class FaultToleranceProcessor extends AsyncProcessorSupport private boolean shutdownScheduledExecutorService; private ExecutorService executorService; private boolean shutdownExecutorService; + private ExecutorService threadTimerExecutorService; + private boolean shutdownThreadTimerExecutorService; private ProcessorExchangeFactory processorExchangeFactory; private PooledExchangeTaskFactory taskFactory; private PooledExchangeTaskFactory fallbackTaskFactory; @@ -349,10 +352,14 @@ public class FaultToleranceProcessor extends AsyncProcessorSupport protected void doInit() throws Exception { ObjectHelper.notNull(camelContext, "CamelContext", this); if (circuitBreaker == null) { - circuitBreaker = new CircuitBreaker( + threadTimerExecutorService + = getCamelContext().getExecutorServiceManager().newCachedThreadPool(this, "CircuitBreakerThreadTimer"); + shutdownThreadTimerExecutorService = true; + + circuitBreaker = new CircuitBreaker<>( invocation(), id, ExceptionDecision.ALWAYS_FAILURE, config.getDelay(), config.getRequestVolumeThreshold(), config.getFailureRatio(), - config.getSuccessThreshold(), new SystemStopwatch()); + config.getSuccessThreshold(), SystemStopwatch.INSTANCE, new ThreadTimer(threadTimerExecutorService)); } ServiceHelper.initService(processorExchangeFactory, taskFactory, fallbackTaskFactory, processor); @@ -384,6 +391,10 @@ public class FaultToleranceProcessor extends AsyncProcessorSupport getCamelContext().getExecutorServiceManager().shutdownNow(executorService); executorService = null; } + if (shutdownThreadTimerExecutorService && threadTimerExecutorService != null) { + getCamelContext().getExecutorServiceManager().shutdownNow(threadTimerExecutorService); + threadTimerExecutorService = null; + } ServiceHelper.stopService(processorExchangeFactory, taskFactory, fallbackTaskFactory, processor); } diff --git a/parent/pom.xml b/parent/pom.xml index 2ff2effde14..41fd272a129 100644 --- a/parent/pom.xml +++ b/parent/pom.xml @@ -485,7 +485,7 @@ <smallrye-config-version>2.12.0</smallrye-config-version> <smallrye-metrics-version>3.0.5</smallrye-metrics-version> <smallrye-health-version>3.3.0</smallrye-health-version> - <smallrye-fault-tolerance-version>5.5.0</smallrye-fault-tolerance-version> + <smallrye-fault-tolerance-version>5.6.0</smallrye-fault-tolerance-version> <snakeyaml-version>1.33</snakeyaml-version> <snakeyaml-engine-version>2.3</snakeyaml-engine-version> <snmp4j-version>2.6.3_1</snmp4j-version>