Wrap the client

A2AClient guarded = CircuitBreaker.wrap(rawClient,
    Breaker.builder()
        .failureThreshold(5)
        .window(Duration.ofSeconds(30))
        .openDuration(Duration.ofMinutes(1))
        .build());
Advertisement

Trip conditions

N consecutive failures. Or M% failures in window. Configurable.

Advertisement

Open state fails fast

Every call gets CircuitOpenException immediately. No wait, no retry.