For a simple, straightforward circuit breaker implementation, check out Failsafe (which I authored). Ex:
CircuitBreaker breaker = new CircuitBreaker() .withFailureThreshold(5) .withSuccessThreshold(3) .withDelay(1, TimeUnit.MINUTES);Failsafe.with(breaker).run(() -> connect());
Doesn't get much simpler.