Class CircuitBreakerConfig
java.lang.Object
io.github.resilience4j.circuitbreaker.CircuitBreakerConfig
- All Implemented Interfaces:
java.io.Serializable
public class CircuitBreakerConfig
extends java.lang.Object
implements java.io.Serializable
A
CircuitBreakerConfig configures a CircuitBreaker- See Also:
- Serialized Form
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classCircuitBreakerConfig.Builderstatic classCircuitBreakerConfig.SlidingWindowType -
Field Summary
Fields Modifier and Type Field Description static intDEFAULT_FAILURE_RATE_THRESHOLDstatic intDEFAULT_MINIMUM_NUMBER_OF_CALLSstatic intDEFAULT_PERMITTED_CALLS_IN_HALF_OPEN_STATEstatic intDEFAULT_SLIDING_WINDOW_SIZEstatic CircuitBreakerConfig.SlidingWindowTypeDEFAULT_SLIDING_WINDOW_TYPEstatic intDEFAULT_SLOW_CALL_DURATION_THRESHOLDstatic intDEFAULT_SLOW_CALL_RATE_THRESHOLDstatic intDEFAULT_WAIT_DURATION_IN_HALF_OPEN_STATEstatic intDEFAULT_WAIT_DURATION_IN_OPEN_STATEstatic booleanDEFAULT_WRITABLE_STACK_TRACE_ENABLED -
Method Summary
Modifier and Type Method Description static CircuitBreakerConfig.Buildercustom()Returns a builder to create a custom CircuitBreakerConfig.static CircuitBreakerConfig.Builderfrom(CircuitBreakerConfig baseConfig)Returns a builder to create a custom CircuitBreakerConfig based on another CircuitBreakerConfig.java.util.function.Function<java.time.Clock,java.lang.Long>getCurrentTimestampFunction()floatgetFailureRateThreshold()java.util.function.Predicate<java.lang.Throwable>getIgnoreExceptionPredicate()java.time.DurationgetMaxWaitDurationInHalfOpenState()intgetMinimumNumberOfCalls()intgetPermittedNumberOfCallsInHalfOpenState()java.util.function.Predicate<java.lang.Throwable>getRecordExceptionPredicate()java.util.function.Predicate<java.lang.Object>getRecordResultPredicate()intgetSlidingWindowSize()CircuitBreakerConfig.SlidingWindowTypegetSlidingWindowType()java.time.DurationgetSlowCallDurationThreshold()floatgetSlowCallRateThreshold()java.util.concurrent.TimeUnitgetTimestampUnit()java.time.DurationgetWaitDurationInOpenState()Deprecated.since 1.2.0 You should usegetWaitIntervalFunctionInOpenState()instead.io.github.resilience4j.core.IntervalFunctiongetWaitIntervalFunctionInOpenState()Returns an interval function which controls how long the CircuitBreaker should stay open, before it switches to half open.booleanisAutomaticTransitionFromOpenToHalfOpenEnabled()booleanisWritableStackTraceEnabled()static CircuitBreakerConfigofDefaults()Creates a default CircuitBreaker configuration.java.lang.StringtoString()
-
Field Details
-
DEFAULT_FAILURE_RATE_THRESHOLD
public static final int DEFAULT_FAILURE_RATE_THRESHOLD- See Also:
- Constant Field Values
-
DEFAULT_SLOW_CALL_RATE_THRESHOLD
public static final int DEFAULT_SLOW_CALL_RATE_THRESHOLD- See Also:
- Constant Field Values
-
DEFAULT_WAIT_DURATION_IN_OPEN_STATE
public static final int DEFAULT_WAIT_DURATION_IN_OPEN_STATE- See Also:
- Constant Field Values
-
DEFAULT_PERMITTED_CALLS_IN_HALF_OPEN_STATE
public static final int DEFAULT_PERMITTED_CALLS_IN_HALF_OPEN_STATE- See Also:
- Constant Field Values
-
DEFAULT_MINIMUM_NUMBER_OF_CALLS
public static final int DEFAULT_MINIMUM_NUMBER_OF_CALLS- See Also:
- Constant Field Values
-
DEFAULT_SLIDING_WINDOW_SIZE
public static final int DEFAULT_SLIDING_WINDOW_SIZE- See Also:
- Constant Field Values
-
DEFAULT_SLOW_CALL_DURATION_THRESHOLD
public static final int DEFAULT_SLOW_CALL_DURATION_THRESHOLD- See Also:
- Constant Field Values
-
DEFAULT_WAIT_DURATION_IN_HALF_OPEN_STATE
public static final int DEFAULT_WAIT_DURATION_IN_HALF_OPEN_STATE- See Also:
- Constant Field Values
-
DEFAULT_SLIDING_WINDOW_TYPE
-
DEFAULT_WRITABLE_STACK_TRACE_ENABLED
public static final boolean DEFAULT_WRITABLE_STACK_TRACE_ENABLED- See Also:
- Constant Field Values
-
-
Method Details
-
custom
Returns a builder to create a custom CircuitBreakerConfig.- Returns:
- a
CircuitBreakerConfig.Builder
-
from
Returns a builder to create a custom CircuitBreakerConfig based on another CircuitBreakerConfig.- Returns:
- a
CircuitBreakerConfig.Builder
-
ofDefaults
Creates a default CircuitBreaker configuration.- Returns:
- a default CircuitBreaker configuration.
-
getFailureRateThreshold
public float getFailureRateThreshold() -
getWaitDurationInOpenState
@Deprecated public java.time.Duration getWaitDurationInOpenState()Deprecated.since 1.2.0 You should usegetWaitIntervalFunctionInOpenState()instead. -
getWaitIntervalFunctionInOpenState
public io.github.resilience4j.core.IntervalFunction getWaitIntervalFunctionInOpenState()Returns an interval function which controls how long the CircuitBreaker should stay open, before it switches to half open.- Returns:
- the CircuitBreakerConfig.Builder
-
getSlidingWindowSize
public int getSlidingWindowSize() -
getRecordExceptionPredicate
public java.util.function.Predicate<java.lang.Throwable> getRecordExceptionPredicate() -
getRecordResultPredicate
public java.util.function.Predicate<java.lang.Object> getRecordResultPredicate() -
getIgnoreExceptionPredicate
public java.util.function.Predicate<java.lang.Throwable> getIgnoreExceptionPredicate() -
getCurrentTimestampFunction
public java.util.function.Function<java.time.Clock,java.lang.Long> getCurrentTimestampFunction() -
getTimestampUnit
public java.util.concurrent.TimeUnit getTimestampUnit() -
isAutomaticTransitionFromOpenToHalfOpenEnabled
public boolean isAutomaticTransitionFromOpenToHalfOpenEnabled() -
getMinimumNumberOfCalls
public int getMinimumNumberOfCalls() -
isWritableStackTraceEnabled
public boolean isWritableStackTraceEnabled() -
getPermittedNumberOfCallsInHalfOpenState
public int getPermittedNumberOfCallsInHalfOpenState() -
getSlidingWindowType
-
getSlowCallRateThreshold
public float getSlowCallRateThreshold() -
getSlowCallDurationThreshold
public java.time.Duration getSlowCallDurationThreshold() -
getMaxWaitDurationInHalfOpenState
public java.time.Duration getMaxWaitDurationInHalfOpenState() -
toString
public java.lang.String toString()- Overrides:
toStringin classjava.lang.Object
-