This is an automated email from the ASF dual-hosted git repository.
davsclaus 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 e241221510d6 CAMEL-24215: Circuit breaker dev consoles expose
configuration details
e241221510d6 is described below
commit e241221510d63514227103571a32d3ec02c22743
Author: Claus Ibsen <[email protected]>
AuthorDate: Sat Jul 25 14:40:22 2026 +0200
CAMEL-24215: Circuit breaker dev consoles expose configuration details
Co-Authored-By: Claude Opus 4.6 <[email protected]>
---
.../faulttolerance/FaultToleranceConsole.java | 16 ++++++++++++++++
.../component/resilience4j/ResilienceConsole.java | 22 ++++++++++++++++++++++
2 files changed, 38 insertions(+)
diff --git
a/components/camel-microprofile/camel-microprofile-fault-tolerance/src/main/java/org/apache/camel/component/microprofile/faulttolerance/FaultToleranceConsole.java
b/components/camel-microprofile/camel-microprofile-fault-tolerance/src/main/java/org/apache/camel/component/microprofile/faulttolerance/FaultToleranceConsole.java
index 04a1dbd551c7..14f6ce4f96f6 100644
---
a/components/camel-microprofile/camel-microprofile-fault-tolerance/src/main/java/org/apache/camel/component/microprofile/faulttolerance/FaultToleranceConsole.java
+++
b/components/camel-microprofile/camel-microprofile-fault-tolerance/src/main/java/org/apache/camel/component/microprofile/faulttolerance/FaultToleranceConsole.java
@@ -84,6 +84,22 @@ public class FaultToleranceConsole extends
AbstractDevConsole {
jo.put("id", cb.getId());
jo.put("routeId", cb.getRouteId());
jo.put("state", cb.getCircuitBreakerState());
+ // configuration
+ JsonObject config = new JsonObject();
+ config.put("delay", cb.getDelay());
+ config.put("failureRate", cb.getFailureRate());
+ config.put("requestVolumeThreshold",
cb.getRequestVolumeThreshold());
+ config.put("successThreshold", cb.getSuccessThreshold());
+ config.put("bulkheadEnabled", cb.isBulkheadEnabled());
+ if (cb.isBulkheadEnabled()) {
+ config.put("bulkheadMaxConcurrentCalls",
cb.getBulkheadMaxConcurrentCalls());
+ config.put("bulkheadWaitingTaskQueue",
cb.getBulkheadWaitingTaskQueue());
+ }
+ config.put("timeoutEnabled", cb.isTimeoutEnabled());
+ if (cb.isTimeoutEnabled()) {
+ config.put("timeoutDuration", cb.getTimeoutDuration());
+ }
+ jo.put("configuration", config);
list.add(jo);
}
root.put("circuitBreakers", list);
diff --git
a/components/camel-resilience4j/src/main/java/org/apache/camel/component/resilience4j/ResilienceConsole.java
b/components/camel-resilience4j/src/main/java/org/apache/camel/component/resilience4j/ResilienceConsole.java
index ae0af7cf6590..3c16c6ee7545 100644
---
a/components/camel-resilience4j/src/main/java/org/apache/camel/component/resilience4j/ResilienceConsole.java
+++
b/components/camel-resilience4j/src/main/java/org/apache/camel/component/resilience4j/ResilienceConsole.java
@@ -99,6 +99,28 @@ public class ResilienceConsole extends AbstractDevConsole {
jo.put("failedCalls", cb.getNumberOfFailedCalls());
jo.put("notPermittedCalls", cb.getNumberOfNotPermittedCalls());
jo.put("failureRate", cb.getFailureRate());
+ // configuration
+ JsonObject config = new JsonObject();
+ config.put("failureRateThreshold",
cb.getCircuitBreakerFailureRateThreshold());
+ config.put("slowCallRateThreshold",
cb.getCircuitBreakerSlowCallRateThreshold());
+ config.put("minimumNumberOfCalls",
cb.getCircuitBreakerMinimumNumberOfCalls());
+ config.put("permittedNumberOfCallsInHalfOpenState",
+
cb.getCircuitBreakerPermittedNumberOfCallsInHalfOpenState());
+ config.put("slidingWindowSize",
cb.getCircuitBreakerSlidingWindowSize());
+ config.put("slidingWindowType",
cb.getCircuitBreakerSlidingWindowType());
+ config.put("waitDurationInOpenState",
cb.getCircuitBreakerWaitDurationInOpenState());
+ config.put("automaticTransitionFromOpenToHalfOpen",
+ cb.isCircuitBreakerTransitionFromOpenToHalfOpenEnabled());
+ config.put("bulkheadEnabled", cb.isBulkheadEnabled());
+ if (cb.isBulkheadEnabled()) {
+ config.put("bulkheadMaxConcurrentCalls",
cb.getBulkheadMaxConcurrentCalls());
+ config.put("bulkheadMaxWaitDuration",
cb.getBulkheadMaxWaitDuration());
+ }
+ config.put("timeoutEnabled", cb.isTimeoutEnabled());
+ if (cb.isTimeoutEnabled()) {
+ config.put("timeoutDuration", cb.getTimeoutDuration());
+ }
+ jo.put("configuration", config);
list.add(jo);
}
root.put("circuitBreakers", list);