# GET /demo/r4j/breaker (Spring Framework 7.0.9, Resilience4j 2.4.0, JDK 25) # Source: src/main/java/com/ankurm/resilience/web/DemoController.java { "calls made": 11, "calls that reached the downstream": 8, "of which before the breaker opened": 5, "outcomes": [ "1: TransientException: payment gateway 503 (call 1) [state after: CLOSED]", "2: TransientException: payment gateway 503 (call 2) [state after: CLOSED]", "3: TransientException: payment gateway 503 (call 3) [state after: CLOSED]", "4: TransientException: payment gateway 503 (call 4) [state after: CLOSED]", "5: TransientException: payment gateway 503 (call 5) [state after: OPEN]", "6: CallNotPermittedException: CircuitBreaker 'payments' is OPEN and does not permit further calls [state after: OPEN]", "7: CallNotPermittedException: CircuitBreaker 'payments' is OPEN and does not permit further calls [state after: OPEN]", "8: CallNotPermittedException: CircuitBreaker 'payments' is OPEN and does not permit further calls [state after: OPEN]", "-- 2.1 s later, downstream recovered --", "9: returned charged [state after: HALF_OPEN]", "10: returned charged [state after: CLOSED]", "11: returned charged [state after: CLOSED]" ] }