This is an automated email from the ASF dual-hosted git repository.

github-bot pushed a commit to branch camel-main
in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git

commit edd0369aff66274e88a105c7824fda525ecd636c
Author: James Netherton <jamesnether...@gmail.com>
AuthorDate: Tue Apr 29 08:36:33 2025 +0100

    Adapt to Camel switching to SmallRye Fault Tolerance programmatic APIs
---
 .../microprofile-fault-tolerance/runtime/pom.xml   |  4 ++
 .../MicroProfileFaultToleranceRoutes.java          |  2 +-
 .../MicroprofileFaultToleranceProducers.java       | 50 +++++-----------------
 .../MicroprofileFaultToleranceResource.java        | 17 ++++----
 ...icroProfileFaultToleranceConfigurationTest.java |  2 +-
 ...fileFaultToleranceConfigurationTestProfile.java |  4 +-
 pom.xml                                            |  1 +
 poms/bom/pom.xml                                   | 11 +++++
 poms/bom/src/main/generated/flattened-full-pom.xml | 11 +++++
 .../src/main/generated/flattened-reduced-pom.xml   | 11 +++++
 .../generated/flattened-reduced-verbose-pom.xml    | 11 +++++
 11 files changed, 72 insertions(+), 52 deletions(-)

diff --git a/extensions/microprofile-fault-tolerance/runtime/pom.xml 
b/extensions/microprofile-fault-tolerance/runtime/pom.xml
index 13613102c0..04fee06a0f 100644
--- a/extensions/microprofile-fault-tolerance/runtime/pom.xml
+++ b/extensions/microprofile-fault-tolerance/runtime/pom.xml
@@ -40,6 +40,10 @@
             <groupId>io.quarkus</groupId>
             <artifactId>quarkus-smallrye-fault-tolerance</artifactId>
         </dependency>
+        <dependency>
+            <groupId>io.smallrye</groupId>
+            <artifactId>smallrye-fault-tolerance-standalone</artifactId>
+        </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-core</artifactId>
diff --git 
a/integration-tests/microprofile-fault-tolerance/src/main/java/org/apache/camel/quarkus/component/microprofile/it/faulttolerance/MicroProfileFaultToleranceRoutes.java
 
b/integration-tests/microprofile-fault-tolerance/src/main/java/org/apache/camel/quarkus/component/microprofile/it/faulttolerance/MicroProfileFaultToleranceRoutes.java
index 267fa2ea24..ec9dd5ba30 100644
--- 
a/integration-tests/microprofile-fault-tolerance/src/main/java/org/apache/camel/quarkus/component/microprofile/it/faulttolerance/MicroProfileFaultToleranceRoutes.java
+++ 
b/integration-tests/microprofile-fault-tolerance/src/main/java/org/apache/camel/quarkus/component/microprofile/it/faulttolerance/MicroProfileFaultToleranceRoutes.java
@@ -97,7 +97,7 @@ public class MicroProfileFaultToleranceRoutes extends 
RouteBuilder {
 
         from("direct:faultToleranceWithTimeoutCustomExecutor")
                 .circuitBreaker()
-                
.faultToleranceConfiguration().timeoutEnabled(true).timeoutScheduledExecutorService("myThreadPool")
+                
.faultToleranceConfiguration().timeoutEnabled(true).threadOffloadExecutorService("customExecutorService")
                 .timeoutDuration(500).end()
                 .process(exchange -> {
                     AtomicInteger counter = 
MicroProfileFaultToleranceHelper.getCounter("timeoutCustomExecutor");
diff --git 
a/integration-tests/microprofile-fault-tolerance/src/main/java/org/apache/camel/quarkus/component/microprofile/it/faulttolerance/MicroprofileFaultToleranceProducers.java
 
b/integration-tests/microprofile-fault-tolerance/src/main/java/org/apache/camel/quarkus/component/microprofile/it/faulttolerance/MicroprofileFaultToleranceProducers.java
index 6939276a63..ec284a6345 100644
--- 
a/integration-tests/microprofile-fault-tolerance/src/main/java/org/apache/camel/quarkus/component/microprofile/it/faulttolerance/MicroprofileFaultToleranceProducers.java
+++ 
b/integration-tests/microprofile-fault-tolerance/src/main/java/org/apache/camel/quarkus/component/microprofile/it/faulttolerance/MicroprofileFaultToleranceProducers.java
@@ -20,61 +20,31 @@ import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 import java.util.concurrent.TimeUnit;
 
-import io.smallrye.faulttolerance.core.FaultToleranceStrategy;
-import io.smallrye.faulttolerance.core.circuit.breaker.CircuitBreaker;
-import io.smallrye.faulttolerance.core.stopwatch.SystemStopwatch;
-import io.smallrye.faulttolerance.core.timer.ThreadTimer;
-import io.smallrye.faulttolerance.core.util.ExceptionDecision;
+import io.smallrye.faulttolerance.api.TypedGuard;
 import jakarta.enterprise.context.ApplicationScoped;
 import jakarta.enterprise.inject.Disposes;
 import jakarta.inject.Named;
 import jakarta.inject.Singleton;
+import org.apache.camel.Exchange;
 
 @ApplicationScoped
 public class MicroprofileFaultToleranceProducers {
-
     @Singleton
-    @Named("customCircuitBreaker")
-    CircuitBreaker<Integer> produceCustomCircuitBreaker(ThreadTimer 
threadTimer) {
-        FaultToleranceStrategy<Integer> delegate = ctx -> null;
-        return new CircuitBreaker<>(delegate, "description", 
ExceptionDecision.ALWAYS_FAILURE, 10, 40, 0.1,
-                2, SystemStopwatch.INSTANCE, threadTimer) {
-            @Override
-            public String toString() {
-                return "customCircuitBreaker";
-            }
-        };
+    @Named("customTypedGuard")
+    TypedGuard<Exchange> produceCustomTypedGuard() {
+        return TypedGuard.create(Exchange.class).build();
     }
 
     @ApplicationScoped
-    @Named("customBulkheadExecutorService")
-    ExecutorService produceCustomBulkheadExecutorService() {
+    @Named("customExecutorService")
+    ExecutorService produceCustomExecutorService() {
         return Executors.newFixedThreadPool(2);
     }
 
-    @Singleton
-    @Named("threadTimer")
-    ThreadTimer threadTimer(@Named("threadTimerExecutor") ExecutorService 
executorService) {
-        return new ThreadTimer(executorService);
-    }
-
-    @ApplicationScoped
-    @Named("threadTimerExecutor")
-    ExecutorService threadTimerExecutor() {
-        return Executors.newSingleThreadExecutor();
-    }
-
-    void disposeThreadTimerExecutor(
-            @Disposes @Named("threadTimerExecutor") ExecutorService 
threadTimerExecutor,
-            ThreadTimer timer) {
-        try {
-            timer.shutdown();
-        } catch (InterruptedException e) {
-            Thread.currentThread().interrupt();
-        }
-
+    void disposeCustomExecutorService(
+            @Disposes @Named("customExecutorService") ExecutorService 
executorService) {
         try {
-            threadTimerExecutor.awaitTermination(10, TimeUnit.SECONDS);
+            executorService.awaitTermination(10, TimeUnit.SECONDS);
         } catch (InterruptedException e) {
             Thread.currentThread().interrupt();
         }
diff --git 
a/integration-tests/microprofile-fault-tolerance/src/main/java/org/apache/camel/quarkus/component/microprofile/it/faulttolerance/MicroprofileFaultToleranceResource.java
 
b/integration-tests/microprofile-fault-tolerance/src/main/java/org/apache/camel/quarkus/component/microprofile/it/faulttolerance/MicroprofileFaultToleranceResource.java
index 713829f886..baa8d828d0 100644
--- 
a/integration-tests/microprofile-fault-tolerance/src/main/java/org/apache/camel/quarkus/component/microprofile/it/faulttolerance/MicroprofileFaultToleranceResource.java
+++ 
b/integration-tests/microprofile-fault-tolerance/src/main/java/org/apache/camel/quarkus/component/microprofile/it/faulttolerance/MicroprofileFaultToleranceResource.java
@@ -19,7 +19,7 @@ package 
org.apache.camel.quarkus.component.microprofile.it.faulttolerance;
 import java.util.concurrent.ExecutorService;
 
 import io.quarkus.arc.ClientProxy;
-import io.smallrye.faulttolerance.core.circuit.breaker.CircuitBreaker;
+import io.smallrye.faulttolerance.api.TypedGuard;
 import jakarta.inject.Inject;
 import jakarta.inject.Named;
 import jakarta.json.Json;
@@ -32,6 +32,7 @@ import jakarta.ws.rs.PathParam;
 import jakarta.ws.rs.Produces;
 import jakarta.ws.rs.core.MediaType;
 import org.apache.camel.CamelContext;
+import org.apache.camel.Exchange;
 import org.apache.camel.ProducerTemplate;
 import 
org.apache.camel.component.microprofile.faulttolerance.FaultToleranceProcessor;
 import org.apache.camel.component.mock.MockEndpoint;
@@ -45,11 +46,11 @@ public class MicroprofileFaultToleranceResource {
     @Inject
     CamelContext context;
 
-    @Named("customCircuitBreaker")
-    CircuitBreaker<Integer> customCircuitBreaker;
+    @Named("customTypedGuard")
+    TypedGuard<Exchange> customTypedGuard;
 
-    @Named("customBulkheadExecutorService")
-    ExecutorService customBulkheadExecutorService;
+    @Named("customExecutorService")
+    ExecutorService customExecutorService;
 
     @Path("/route/{route}")
     @POST
@@ -94,7 +95,7 @@ public class MicroprofileFaultToleranceResource {
     public JsonObject faultToleranceConfigurations() {
         FaultToleranceProcessor processor = context.getProcessor("ftp", 
FaultToleranceProcessor.class);
         JsonObjectBuilder objectBuilder = Json.createObjectBuilder();
-        objectBuilder.add("isCustomCircuitBreakerRef", 
processor.getCircuitBreaker().equals(customCircuitBreaker));
+        objectBuilder.add("isCustomTypedGuardRef", 
processor.getTypedGuard().equals(customTypedGuard));
         objectBuilder.add("delay", processor.getDelay());
         objectBuilder.add("successThreshold", processor.getSuccessThreshold());
         objectBuilder.add("requestVolumeThreshold", 
processor.getRequestVolumeThreshold());
@@ -105,8 +106,8 @@ public class MicroprofileFaultToleranceResource {
         objectBuilder.add("bulkheadEnabled", processor.isBulkheadEnabled());
         objectBuilder.add("bulkheadMaxConcurrentCalls", 
processor.getBulkheadMaxConcurrentCalls());
         objectBuilder.add("bulkheadWaitingTaskQueue", 
processor.getBulkheadWaitingTaskQueue());
-        objectBuilder.add("isCustomBulkheadExecutorServiceRef",
-                
processor.getExecutorService().equals(ClientProxy.unwrap(customBulkheadExecutorService)));
+        objectBuilder.add("isCustomExecutorServiceRef",
+                
processor.getExecutorService().equals(ClientProxy.unwrap(customExecutorService)));
 
         return objectBuilder.build();
     }
diff --git 
a/integration-tests/microprofile-fault-tolerance/src/test/java/org/apache/camel/quarkus/component/microprofile/it/faulttolerance/MicroProfileFaultToleranceConfigurationTest.java
 
b/integration-tests/microprofile-fault-tolerance/src/test/java/org/apache/camel/quarkus/component/microprofile/it/faulttolerance/MicroProfileFaultToleranceConfigurationTest.java
index ea1a3c3398..0304409138 100644
--- 
a/integration-tests/microprofile-fault-tolerance/src/test/java/org/apache/camel/quarkus/component/microprofile/it/faulttolerance/MicroProfileFaultToleranceConfigurationTest.java
+++ 
b/integration-tests/microprofile-fault-tolerance/src/test/java/org/apache/camel/quarkus/component/microprofile/it/faulttolerance/MicroProfileFaultToleranceConfigurationTest.java
@@ -31,7 +31,7 @@ class MicroProfileFaultToleranceConfigurationTest {
         RestAssured.get("/microprofile-fault-tolerance/configuration")
                 .then()
                 .body(
-                        "isCustomCircuitBreakerRef", is(true),
+                        "isCustomTypedGuardRef", is(true),
                         "delay", is(15),
                         "successThreshold", is(4),
                         "requestVolumeThreshold", is(60),
diff --git 
a/integration-tests/microprofile-fault-tolerance/src/test/java/org/apache/camel/quarkus/component/microprofile/it/faulttolerance/MicroProfileFaultToleranceConfigurationTestProfile.java
 
b/integration-tests/microprofile-fault-tolerance/src/test/java/org/apache/camel/quarkus/component/microprofile/it/faulttolerance/MicroProfileFaultToleranceConfigurationTestProfile.java
index ffb7d2827b..f042e4c03d 100644
--- 
a/integration-tests/microprofile-fault-tolerance/src/test/java/org/apache/camel/quarkus/component/microprofile/it/faulttolerance/MicroProfileFaultToleranceConfigurationTestProfile.java
+++ 
b/integration-tests/microprofile-fault-tolerance/src/test/java/org/apache/camel/quarkus/component/microprofile/it/faulttolerance/MicroProfileFaultToleranceConfigurationTestProfile.java
@@ -26,9 +26,9 @@ public class 
MicroProfileFaultToleranceConfigurationTestProfile implements Quark
     public Map<String, String> getConfigOverrides() {
         return CollectionHelper.mapOf(
                 "load.config.test.route", "true",
-                "camel.faulttolerance.circuitBreaker", "customCircuitBreaker",
+                "camel.faulttolerance.typedGuard", "customTypedGuard",
                 "camel.faulttolerance.bulkheadEnabled", "true",
-                "camel.faulttolerance.bulkheadExecutorService", 
"customBulkheadExecutorService",
+                "camel.faulttolerance.threadOffloadExecutorService", 
"customExecutorService",
                 "camel.faulttolerance.delay", "15",
                 "camel.faulttolerance.successThreshold", "4",
                 "camel.faulttolerance.requestVolumeThreshold", "60",
diff --git a/pom.xml b/pom.xml
index 11dcf98d03..6ab98f5645 100644
--- a/pom.xml
+++ b/pom.xml
@@ -163,6 +163,7 @@
         <reactor-netty.version>${reactor-netty-version}</reactor-netty.version>
         <retrofit.version>2.9.0</retrofit.version><!-- @sync 
org.influxdb:influxdb-java:${influxdb.version} 
dep:com.squareup.retrofit2:retrofit -->
         <rxjava3.version>3.1.8</rxjava3.version><!-- Used by 
amazon-kinesis-client and infinispan-client-hotrod-jakarta -->
+        
<smallrye-fault-tolerance-standalone.version>6.9.1</smallrye-fault-tolerance-standalone.version><!--
 @sync io.quarkus:quarkus-bom:${quarkus.version} 
dep:io.smallrye:smallrye-fault-tolerance -->
         
<smallrye.reactive.messaging.camel.version>4.27.0</smallrye.reactive.messaging.camel.version><!--
 @sync io.quarkus:quarkus-bom:${quarkus.version} 
dep:io.smallrye.reactive:smallrye-reactive-messaging-provider -->
         <smooks.version>${smooks-version}</smooks.version>
         <snakeyaml.version>2.4</snakeyaml.version><!-- @sync 
io.quarkus:quarkus-bom:${quarkus.version} dep:org.yaml:snakeyaml -->
diff --git a/poms/bom/pom.xml b/poms/bom/pom.xml
index 09a48123fa..e15b2ff016 100644
--- a/poms/bom/pom.xml
+++ b/poms/bom/pom.xml
@@ -2019,6 +2019,12 @@
                 <groupId>org.apache.camel</groupId>
                 <artifactId>camel-microprofile-fault-tolerance</artifactId>
                 <version>${camel.version}</version>
+                <exclusions>
+                    <exclusion>
+                        <groupId>io.smallrye</groupId>
+                        <artifactId>*</artifactId>
+                    </exclusion>
+                </exclusions>
             </dependency>
             <dependency>
                 <groupId>org.apache.camel</groupId>
@@ -7247,6 +7253,11 @@
                 <artifactId>rxjava</artifactId>
                 <version>${rxjava3.version}</version>
             </dependency>
+            <dependency>
+                <groupId>io.smallrye</groupId>
+                <artifactId>smallrye-fault-tolerance-standalone</artifactId>
+                
<version>${smallrye-fault-tolerance-standalone.version}</version>
+            </dependency>
             <dependency>
                 <groupId>io.smallrye.reactive</groupId>
                 <artifactId>smallrye-reactive-messaging-camel</artifactId>
diff --git a/poms/bom/src/main/generated/flattened-full-pom.xml 
b/poms/bom/src/main/generated/flattened-full-pom.xml
index 7c70996e99..9fac6c3191 100644
--- a/poms/bom/src/main/generated/flattened-full-pom.xml
+++ b/poms/bom/src/main/generated/flattened-full-pom.xml
@@ -1936,6 +1936,12 @@
         <groupId>org.apache.camel</groupId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
         <artifactId>camel-microprofile-fault-tolerance</artifactId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
         <version>4.12.0-SNAPSHOT</version><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+        <exclusions>
+          <exclusion>
+            <groupId>io.smallrye</groupId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+            <artifactId>*</artifactId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+          </exclusion>
+        </exclusions>
       </dependency>
       <dependency>
         <groupId>org.apache.camel</groupId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
@@ -7148,6 +7154,11 @@
         <artifactId>rxjava</artifactId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
         <version>3.1.8</version><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
       </dependency>
+      <dependency>
+        <groupId>io.smallrye</groupId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+        <artifactId>smallrye-fault-tolerance-standalone</artifactId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+        <version>6.9.1</version><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+      </dependency>
       <dependency>
         <groupId>io.smallrye.reactive</groupId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
         <artifactId>smallrye-reactive-messaging-camel</artifactId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
diff --git a/poms/bom/src/main/generated/flattened-reduced-pom.xml 
b/poms/bom/src/main/generated/flattened-reduced-pom.xml
index 198cdbe6c1..820385b5a7 100644
--- a/poms/bom/src/main/generated/flattened-reduced-pom.xml
+++ b/poms/bom/src/main/generated/flattened-reduced-pom.xml
@@ -1931,6 +1931,12 @@
         <groupId>org.apache.camel</groupId>
         <artifactId>camel-microprofile-fault-tolerance</artifactId>
         <version>4.12.0-SNAPSHOT</version>
+        <exclusions>
+          <exclusion>
+            <groupId>io.smallrye</groupId>
+            <artifactId>*</artifactId>
+          </exclusion>
+        </exclusions>
       </dependency>
       <dependency>
         <groupId>org.apache.camel</groupId>
@@ -7103,6 +7109,11 @@
         <artifactId>rxjava</artifactId>
         <version>3.1.8</version>
       </dependency>
+      <dependency>
+        <groupId>io.smallrye</groupId>
+        <artifactId>smallrye-fault-tolerance-standalone</artifactId>
+        <version>6.9.1</version>
+      </dependency>
       <dependency>
         <groupId>io.smallrye.reactive</groupId>
         <artifactId>smallrye-reactive-messaging-camel</artifactId>
diff --git a/poms/bom/src/main/generated/flattened-reduced-verbose-pom.xml 
b/poms/bom/src/main/generated/flattened-reduced-verbose-pom.xml
index 58d6603f73..b5c57acc47 100644
--- a/poms/bom/src/main/generated/flattened-reduced-verbose-pom.xml
+++ b/poms/bom/src/main/generated/flattened-reduced-verbose-pom.xml
@@ -1931,6 +1931,12 @@
         <groupId>org.apache.camel</groupId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
         <artifactId>camel-microprofile-fault-tolerance</artifactId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
         <version>4.12.0-SNAPSHOT</version><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+        <exclusions>
+          <exclusion>
+            <groupId>io.smallrye</groupId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+            <artifactId>*</artifactId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+          </exclusion>
+        </exclusions>
       </dependency>
       <dependency>
         <groupId>org.apache.camel</groupId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
@@ -7103,6 +7109,11 @@
         <artifactId>rxjava</artifactId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
         <version>3.1.8</version><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
       </dependency>
+      <dependency>
+        <groupId>io.smallrye</groupId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+        <artifactId>smallrye-fault-tolerance-standalone</artifactId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+        <version>6.9.1</version><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+      </dependency>
       <dependency>
         <groupId>io.smallrye.reactive</groupId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
         <artifactId>smallrye-reactive-messaging-camel</artifactId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->

Reply via email to