Class CircuitBreakerConfig

java.lang.Object
io.github.resilience4j.circuitbreaker.CircuitBreakerConfig
All Implemented Interfaces:
Serializable

public class CircuitBreakerConfig extends Object implements Serializable
See Also:
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      See Also:
    • DEFAULT_FAILURE_RATE_THRESHOLD

      public static final int DEFAULT_FAILURE_RATE_THRESHOLD
      See Also:
    • DEFAULT_SLOW_CALL_RATE_THRESHOLD

      public static final int DEFAULT_SLOW_CALL_RATE_THRESHOLD
      See Also:
    • DEFAULT_WAIT_DURATION_IN_OPEN_STATE

      public static final int DEFAULT_WAIT_DURATION_IN_OPEN_STATE
      See Also:
    • DEFAULT_PERMITTED_CALLS_IN_HALF_OPEN_STATE

      public static final int DEFAULT_PERMITTED_CALLS_IN_HALF_OPEN_STATE
      See Also:
    • DEFAULT_MINIMUM_NUMBER_OF_CALLS

      public static final int DEFAULT_MINIMUM_NUMBER_OF_CALLS
      See Also:
    • DEFAULT_SLIDING_WINDOW_SIZE

      public static final int DEFAULT_SLIDING_WINDOW_SIZE
      See Also:
    • DEFAULT_SLOW_CALL_DURATION_THRESHOLD

      public static final int DEFAULT_SLOW_CALL_DURATION_THRESHOLD
      See Also:
    • DEFAULT_WAIT_DURATION_IN_HALF_OPEN_STATE

      public static final int DEFAULT_WAIT_DURATION_IN_HALF_OPEN_STATE
      See Also:
    • DEFAULT_SLIDING_WINDOW_TYPE

      public static final CircuitBreakerConfig.SlidingWindowType DEFAULT_SLIDING_WINDOW_TYPE
    • DEFAULT_WRITABLE_STACK_TRACE_ENABLED

      public static final boolean DEFAULT_WRITABLE_STACK_TRACE_ENABLED
      See Also:
    • DEFAULT_RECORD_EXCEPTION_PREDICATE

      private static final Predicate<Throwable> DEFAULT_RECORD_EXCEPTION_PREDICATE
    • DEFAULT_IGNORE_EXCEPTION_PREDICATE

      private static final Predicate<Throwable> DEFAULT_IGNORE_EXCEPTION_PREDICATE
    • DEFAULT_TIMESTAMP_FUNCTION

      private static final Function<Clock,Long> DEFAULT_TIMESTAMP_FUNCTION
    • DEFAULT_TIMESTAMP_UNIT

      private static final TimeUnit DEFAULT_TIMESTAMP_UNIT
    • DEFAULT_RECORD_RESULT_PREDICATE

      private static final Predicate<Object> DEFAULT_RECORD_RESULT_PREDICATE
    • DEFAULT_TRANSITION_ON_RESULT

      private static final Function<io.github.resilience4j.core.functions.Either<Object, Throwable>, CircuitBreakerConfig.TransitionCheckResult> DEFAULT_TRANSITION_ON_RESULT
    • recordExceptionPredicate

      private transient Predicate<Throwable> recordExceptionPredicate
    • ignoreExceptionPredicate

      private transient Predicate<Throwable> ignoreExceptionPredicate
    • currentTimestampFunction

      private transient Function<Clock,Long> currentTimestampFunction
    • timestampUnit

      private TimeUnit timestampUnit
    • recordResultPredicate

      private transient Predicate<Object> recordResultPredicate
    • recordExceptions

      private Class<? extends Throwable>[] recordExceptions
    • ignoreExceptions

      private Class<? extends Throwable>[] ignoreExceptions
    • failureRateThreshold

      private float failureRateThreshold
    • permittedNumberOfCallsInHalfOpenState

      private int permittedNumberOfCallsInHalfOpenState
    • slidingWindowSize

      private int slidingWindowSize
    • slidingWindowType

      private CircuitBreakerConfig.SlidingWindowType slidingWindowType
    • minimumNumberOfCalls

      private int minimumNumberOfCalls
    • writableStackTraceEnabled

      private boolean writableStackTraceEnabled
    • automaticTransitionFromOpenToHalfOpenEnabled

      private boolean automaticTransitionFromOpenToHalfOpenEnabled
    • waitIntervalFunctionInOpenState

      private transient io.github.resilience4j.core.IntervalFunction waitIntervalFunctionInOpenState
    • transitionOnResult

      private transient Function<io.github.resilience4j.core.functions.Either<Object, Throwable>, CircuitBreakerConfig.TransitionCheckResult> transitionOnResult
    • slowCallRateThreshold

      private float slowCallRateThreshold
    • slowCallDurationThreshold

      private Duration slowCallDurationThreshold
    • maxWaitDurationInHalfOpenState

      private Duration maxWaitDurationInHalfOpenState
  • Constructor Details

    • CircuitBreakerConfig

      private CircuitBreakerConfig()
  • Method Details

    • custom

      public static CircuitBreakerConfig.Builder custom()
      Returns a builder to create a custom CircuitBreakerConfig.
      Returns:
      a CircuitBreakerConfig.Builder
    • from

      public static CircuitBreakerConfig.Builder from(CircuitBreakerConfig baseConfig)
      Returns a builder to create a custom CircuitBreakerConfig based on another CircuitBreakerConfig.
      Returns:
      a CircuitBreakerConfig.Builder
    • ofDefaults

      public static CircuitBreakerConfig ofDefaults()
      Creates a default CircuitBreaker configuration.
      Returns:
      a default CircuitBreaker configuration.
    • getFailureRateThreshold

      public float getFailureRateThreshold()
    • 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
    • getTransitionOnResult

      public Function<io.github.resilience4j.core.functions.Either<Object, Throwable>, CircuitBreakerConfig.TransitionCheckResult> getTransitionOnResult()
    • getSlidingWindowSize

      public int getSlidingWindowSize()
    • getRecordExceptionPredicate

      public Predicate<Throwable> getRecordExceptionPredicate()
    • getRecordResultPredicate

      public Predicate<Object> getRecordResultPredicate()
    • getIgnoreExceptionPredicate

      public Predicate<Throwable> getIgnoreExceptionPredicate()
    • getCurrentTimestampFunction

      public Function<Clock,Long> getCurrentTimestampFunction()
    • getTimestampUnit

      public TimeUnit getTimestampUnit()
    • isAutomaticTransitionFromOpenToHalfOpenEnabled

      public boolean isAutomaticTransitionFromOpenToHalfOpenEnabled()
    • getMinimumNumberOfCalls

      public int getMinimumNumberOfCalls()
    • isWritableStackTraceEnabled

      public boolean isWritableStackTraceEnabled()
    • getPermittedNumberOfCallsInHalfOpenState

      public int getPermittedNumberOfCallsInHalfOpenState()
    • getSlidingWindowType

      public CircuitBreakerConfig.SlidingWindowType getSlidingWindowType()
    • getSlowCallRateThreshold

      public float getSlowCallRateThreshold()
    • getSlowCallDurationThreshold

      public Duration getSlowCallDurationThreshold()
    • getMaxWaitDurationInHalfOpenState

      public Duration getMaxWaitDurationInHalfOpenState()
    • toString

      public String toString()
      Overrides:
      toString in class Object