private void onAttemptComplete ( Throwable t ) { try { if ( circuitBreaker != null ) { if ( t instanceof CircuitBreakerOpenException ) { metricRecorder . incrementCircuitBreakerCallsCircuitOpenCount ( ) ; } else if ( circuitBreaker . isFailure ( null , t ) ) { metricRecorder . incrementCircuitBreakerCallsFailureCount ( ) ; } else { metricRecorder . incrementCircuitBreakerCallsSuccessCount ( ) ; } } if ( t instanceof TimeoutException ) { metricRecorder . incrementTimeoutTrueCount ( ) ; } else { metricRecorder . incrementTimeoutFalseCount ( ) ; } } catch ( RuntimeException e ) { // Unchecked exceptions thrown here can be swallowed by Failsafe // This catch ensures we at least get an FFDC throw e ; } }
Called at the end of each retry attempt