Package dev.failsafe.internal
Class CircuitBreakerExecutor<R>
- java.lang.Object
-
- dev.failsafe.spi.PolicyExecutor<R>
-
- dev.failsafe.internal.CircuitBreakerExecutor<R>
-
- Type Parameters:
R
- result type
public class CircuitBreakerExecutor<R> extends PolicyExecutor<R>
A PolicyExecutor that handles failures according to aCircuitBreaker
.
-
-
Field Summary
Fields Modifier and Type Field Description private CircuitBreakerImpl<R>
circuitBreaker
-
Constructor Summary
Constructors Constructor Description CircuitBreakerExecutor(CircuitBreakerImpl<R> circuitBreaker, int policyIndex)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected ExecutionResult<R>
onFailure(ExecutionContext<R> context, ExecutionResult<R> result)
Performs post-execution handling for aresult
that is considered a failure according toPolicyExecutor.isFailure(ExecutionResult)
, possibly creating a new result, else returning the originalresult
.void
onSuccess(ExecutionResult<R> result)
Performs post-execution handling for aresult
that is considered a success according toPolicyExecutor.isFailure(ExecutionResult)
.protected ExecutionResult<R>
preExecute()
Called before execution to return an alternative result or exception such as if execution is not allowed or needed.-
Methods inherited from class dev.failsafe.spi.PolicyExecutor
apply, applyAsync, getPolicyIndex, isFailure, onFailureAsync, postExecute, postExecuteAsync, preExecuteAsync
-
-
-
-
Field Detail
-
circuitBreaker
private final CircuitBreakerImpl<R> circuitBreaker
-
-
Constructor Detail
-
CircuitBreakerExecutor
public CircuitBreakerExecutor(CircuitBreakerImpl<R> circuitBreaker, int policyIndex)
-
-
Method Detail
-
preExecute
protected ExecutionResult<R> preExecute()
Description copied from class:PolicyExecutor
Called before execution to return an alternative result or exception such as if execution is not allowed or needed.- Overrides:
preExecute
in classPolicyExecutor<R>
-
onSuccess
public void onSuccess(ExecutionResult<R> result)
Description copied from class:PolicyExecutor
Performs post-execution handling for aresult
that is considered a success according toPolicyExecutor.isFailure(ExecutionResult)
.- Overrides:
onSuccess
in classPolicyExecutor<R>
-
onFailure
protected ExecutionResult<R> onFailure(ExecutionContext<R> context, ExecutionResult<R> result)
Description copied from class:PolicyExecutor
Performs post-execution handling for aresult
that is considered a failure according toPolicyExecutor.isFailure(ExecutionResult)
, possibly creating a new result, else returning the originalresult
.- Overrides:
onFailure
in classPolicyExecutor<R>
-
-