Class CircuitBreakerStateMachine.HalfOpenState
java.lang.Object
io.github.resilience4j.circuitbreaker.internal.CircuitBreakerStateMachine.HalfOpenState
- All Implemented Interfaces:
CircuitBreakerStateMachine.CircuitBreakerState
- Enclosing class:
CircuitBreakerStateMachine
private class CircuitBreakerStateMachine.HalfOpenState
extends Object
implements CircuitBreakerStateMachine.CircuitBreakerState
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final intprivate final CircuitBreakerMetricsprivate final AtomicBooleanprivate final AtomicIntegerprivate final ScheduledFuture<?> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidintattempts()private voidprivate voidTransitions to open state when thresholds have been exceeded.getState()Get the state of the CircuitBreakervoidvoidvoidvoidThis method is invoked before transit to other CircuitBreakerState.voidprivate voidbooleanChecks if test request is allowed.Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface CircuitBreakerStateMachine.CircuitBreakerState
shouldPublishEvents
-
Field Details
-
permittedNumberOfCalls
-
isHalfOpen
-
attempts
private final int attempts -
circuitBreakerMetrics
-
transitionToOpenFuture
-
-
Constructor Details
-
HalfOpenState
HalfOpenState(int attempts)
-
-
Method Details
-
tryAcquirePermission
public boolean tryAcquirePermission()Checks if test request is allowed.Returns true, if test request counter is not zero. Returns false, if test request counter is zero.
- Specified by:
tryAcquirePermissionin interfaceCircuitBreakerStateMachine.CircuitBreakerState- Returns:
- true, if test request counter is not zero.
-
acquirePermission
public void acquirePermission()- Specified by:
acquirePermissionin interfaceCircuitBreakerStateMachine.CircuitBreakerState
-
preTransitionHook
public void preTransitionHook()Description copied from interface:CircuitBreakerStateMachine.CircuitBreakerStateThis method is invoked before transit to other CircuitBreakerState.- Specified by:
preTransitionHookin interfaceCircuitBreakerStateMachine.CircuitBreakerState
-
cancelAutomaticTransitionToOpen
private void cancelAutomaticTransitionToOpen() -
toOpenState
private void toOpenState() -
releasePermission
public void releasePermission()- Specified by:
releasePermissionin interfaceCircuitBreakerStateMachine.CircuitBreakerState
-
onError
- Specified by:
onErrorin interfaceCircuitBreakerStateMachine.CircuitBreakerState
-
onSuccess
- Specified by:
onSuccessin interfaceCircuitBreakerStateMachine.CircuitBreakerState
-
handlePossibleTransition
- Specified by:
handlePossibleTransitionin interfaceCircuitBreakerStateMachine.CircuitBreakerState
-
attempts
public int attempts()- Specified by:
attemptsin interfaceCircuitBreakerStateMachine.CircuitBreakerState
-
checkIfThresholdsExceeded
Transitions to open state when thresholds have been exceeded. Transitions to closed state when thresholds have not been exceeded.- Parameters:
result- the result
-
getState
Get the state of the CircuitBreaker- Specified by:
getStatein interfaceCircuitBreakerStateMachine.CircuitBreakerState
-
getMetrics
- Specified by:
getMetricsin interfaceCircuitBreakerStateMachine.CircuitBreakerState
-