Enum Class CircuitBreaker.State

java.lang.Object
java.lang.Enum<CircuitBreaker.State>
io.github.resilience4j.circuitbreaker.CircuitBreaker.State
All Implemented Interfaces:
Serializable, Comparable<CircuitBreaker.State>, Constable
Enclosing interface:
CircuitBreaker

public static enum CircuitBreaker.State extends Enum<CircuitBreaker.State>
States of the CircuitBreaker state machine.
  • Nested Class Summary

    Nested classes/interfaces inherited from class Enum

    Enum.EnumDesc<E>
  • Enum Constant Summary

    Enum Constants
    Enum Constant
    Description
    A CLOSED breaker is operating normally and allowing requests through.
    A DISABLED breaker is not operating (no state transition, no events) and allowing all requests through.
    A FORCED_OPEN breaker is not operating (no state transition, no events) and not allowing any requests through.
    A HALF_OPEN breaker has completed its wait interval and will allow requests
    A METRICS_ONLY breaker is collecting metrics, publishing events and allowing all requests through but is not transitioning to other states.
    An OPEN breaker has tripped and will not allow requests through.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    final boolean
     
    private final int
     
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    private
    State(int order, boolean allowPublish)
    Order is a FIXED integer, it should be preserved regardless of the ordinal number of the enumeration.
  • Method Summary

    Modifier and Type
    Method
    Description
    int
     
    Returns the enum constant of this class with the specified name.
    Returns an array containing the constants of this enum class, in the order they are declared.

    Methods inherited from class Object

    getClass, notify, notifyAll, wait, wait, wait
  • Enum Constant Details

    • DISABLED

      public static final CircuitBreaker.State DISABLED
      A DISABLED breaker is not operating (no state transition, no events) and allowing all requests through.
    • METRICS_ONLY

      public static final CircuitBreaker.State METRICS_ONLY
      A METRICS_ONLY breaker is collecting metrics, publishing events and allowing all requests through but is not transitioning to other states.
    • CLOSED

      public static final CircuitBreaker.State CLOSED
      A CLOSED breaker is operating normally and allowing requests through.
    • OPEN

      public static final CircuitBreaker.State OPEN
      An OPEN breaker has tripped and will not allow requests through.
    • FORCED_OPEN

      public static final CircuitBreaker.State FORCED_OPEN
      A FORCED_OPEN breaker is not operating (no state transition, no events) and not allowing any requests through.
    • HALF_OPEN

      public static final CircuitBreaker.State HALF_OPEN
      A HALF_OPEN breaker has completed its wait interval and will allow requests
  • Field Details

    • allowPublish

      public final boolean allowPublish
    • order

      private final int order
  • Constructor Details

    • State

      private State(int order, boolean allowPublish)
      Order is a FIXED integer, it should be preserved regardless of the ordinal number of the enumeration. While a State.ordinal() does mostly the same, it is prone to changing the order based on how the programmer sets the enum. If more states are added the "order" should be preserved. For example, if there is a state inserted between CLOSED and HALF_OPEN (say FIXED_OPEN) then the order of HALF_OPEN remains at 2 and the new state takes 3 regardless of its order in the enum.
      Parameters:
      order -
      allowPublish -
  • Method Details

    • values

      public static CircuitBreaker.State[] values()
      Returns an array containing the constants of this enum class, in the order they are declared.
      Returns:
      an array containing the constants of this enum class, in the order they are declared
    • valueOf

      public static CircuitBreaker.State valueOf(String name)
      Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum class has no constant with the specified name
      NullPointerException - if the argument is null
    • getOrder

      public int getOrder()