Top Description Inners Fields Constructors Methods
com.oracle.bmc.circuitbreaker

public Class CircuitBreakerConfiguration

extends Object
Class Inheritance
Known Direct Subclasses
com.oracle.bmc.circuitbreaker.NoCircuitBreakerConfiguration
Imports
java.time.Duration, java.util.Arrays, .Collections, .HashSet, .List, .Set

A CircuitBreakerConfiguration configures a circuit breaker

Setting an invocation response timeout lower that the slow call threshold will bypass the intended effect of the circuit breaker

Nested and Inner Type Summary

Modifier and TypeClass and Description
public static class

Field Summary

Modifier and TypeField and Description
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final boolean
private final int
public static final int
public static final int
private final int
public static final int
private final int
private final int
private final List<Class<? extends RuntimeException>>
recordExceptions

List of exceptions for circuitBreaker to consider as failures, we are limiting the list to subclasses of RuntimeException because all JaxRs exceptions inherit from the RuntimeException

private final Set<Integer>
recordHttpStatuses

List of default http error codes to record as circuit breaker failure

private final boolean
public static final int
private final int
private final Duration
private final int
public static final int
private final Duration
private final boolean

Constructor Summary

AccessConstructor and Description
protected
CircuitBreakerConfiguration(int failureRateThreshold, int slowCallRateThreshold, Duration waitDurationInOpenState, int permittedNumberOfCallsInHalfOpenState, int minimumNumberOfCalls, int slidingWindowSize, Duration slowCallDurationThreshold, boolean writableStackTraceEnabled, Set<Integer> recordHttpStatuses, List<Class<? extends RuntimeException>> recordExceptions, boolean recordProcessingFailures)

protected
CircuitBreakerConfiguration(int failureRateThreshold, int slowCallRateThreshold, Duration waitDurationInOpenState, int permittedNumberOfCallsInHalfOpenState, int minimumNumberOfCalls, int slidingWindowSize, Duration slowCallDurationThreshold, boolean writableStackTraceEnabled, Set<Integer> recordHttpStatuses, List<Class<? extends RuntimeException>> recordExceptions, boolean recordProcessingFailures, int numberOfRecordedHistoryResponses)

Use builder() instead.

public

Method Summary

Modifier and TypeMethod and Description
public static CircuitBreakerConfiguration.CircuitBreakerConfigurationBuilder
private static List<Class<? extends RuntimeException>>
private static Set<Integer>
public int
public int
public int
public int
public List<Class<? extends RuntimeException>>
public Set<Integer>
public int
public Duration
public int
public Duration
public boolean
public boolean
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

BAD_GATEWAYback to summary
public static final int BAD_GATEWAY
DEFAULT_FAILURE_RATE_THRESHOLDback to summary
public static final int DEFAULT_FAILURE_RATE_THRESHOLD
DEFAULT_MINIMUM_NUMBER_OF_CALLSback to summary
public static final int DEFAULT_MINIMUM_NUMBER_OF_CALLS
DEFAULT_PERMITTED_CALLS_IN_HALF_OPEN_STATEback to summary
public static final int DEFAULT_PERMITTED_CALLS_IN_HALF_OPEN_STATE
DEFAULT_SLIDING_WINDOW_SIZEback to summary
public static final int DEFAULT_SLIDING_WINDOW_SIZE
DEFAULT_SLOW_CALL_DURATION_THRESHOLDback to summary
public static final int DEFAULT_SLOW_CALL_DURATION_THRESHOLD
DEFAULT_SLOW_CALL_RATE_THRESHOLDback to summary
public static final int DEFAULT_SLOW_CALL_RATE_THRESHOLD
DEFAULT_WAIT_DURATION_IN_OPEN_STATEback to summary
public static final int DEFAULT_WAIT_DURATION_IN_OPEN_STATE
DEFAULT_WRITABLE_STACK_TRACE_ENABLEDback to summary
public static final boolean DEFAULT_WRITABLE_STACK_TRACE_ENABLED
failureRateThresholdback to summary
private final int failureRateThreshold
GATEWAY_TIMEOUTback to summary
public static final int GATEWAY_TIMEOUT
INTERNAL_SERVER_ERRORback to summary
public static final int INTERNAL_SERVER_ERROR
minimumNumberOfCallsback to summary
private final int minimumNumberOfCalls
NUMBER_OF_RECORDED_HISTORY_RESPONSESback to summary
public static final int NUMBER_OF_RECORDED_HISTORY_RESPONSES
numberOfRecordedHistoryResponsesback to summary
private final int numberOfRecordedHistoryResponses
permittedNumberOfCallsInHalfOpenStateback to summary
private final int permittedNumberOfCallsInHalfOpenState
recordExceptionsback to summary
private final List<Class<? extends RuntimeException>> recordExceptions

List of exceptions for circuitBreaker to consider as failures, we are limiting the list to subclasses of RuntimeException because all JaxRs exceptions inherit from the RuntimeException

recordHttpStatusesback to summary
private final Set<Integer> recordHttpStatuses

List of default http error codes to record as circuit breaker failure

recordProcessingFailuresback to summary
private final boolean recordProcessingFailures
SERVICE_UNAVAILABLEback to summary
public static final int SERVICE_UNAVAILABLE
slidingWindowSizeback to summary
private final int slidingWindowSize
slowCallDurationThresholdback to summary
private final Duration slowCallDurationThreshold
slowCallRateThresholdback to summary
private final int slowCallRateThreshold
TOO_MANY_REQUESTSback to summary
public static final int TOO_MANY_REQUESTS
waitDurationInOpenStateback to summary
private final Duration waitDurationInOpenState
writableStackTraceEnabledback to summary
private final boolean writableStackTraceEnabled

Constructor Detail

CircuitBreakerConfigurationback to summary
protected CircuitBreakerConfiguration(int failureRateThreshold, int slowCallRateThreshold, Duration waitDurationInOpenState, int permittedNumberOfCallsInHalfOpenState, int minimumNumberOfCalls, int slidingWindowSize, Duration slowCallDurationThreshold, boolean writableStackTraceEnabled, Set<Integer> recordHttpStatuses, List<Class<? extends RuntimeException>> recordExceptions, boolean recordProcessingFailures)
CircuitBreakerConfigurationback to summary
protected CircuitBreakerConfiguration(int failureRateThreshold, int slowCallRateThreshold, Duration waitDurationInOpenState, int permittedNumberOfCallsInHalfOpenState, int minimumNumberOfCalls, int slidingWindowSize, Duration slowCallDurationThreshold, boolean writableStackTraceEnabled, Set<Integer> recordHttpStatuses, List<Class<? extends RuntimeException>> recordExceptions, boolean recordProcessingFailures, int numberOfRecordedHistoryResponses)

Use builder() instead.

Annotations
@java.beans.ConstructorProperties
CircuitBreakerConfigurationback to summary
public CircuitBreakerConfiguration()

Method Detail

builderback to summary
public static CircuitBreakerConfiguration.CircuitBreakerConfigurationBuilder builder()
defaultRecordExceptionsback to summary
private static List<Class<? extends RuntimeException>> defaultRecordExceptions()
defaultRecordHttpStatusesback to summary
private static Set<Integer> defaultRecordHttpStatuses()
getFailureRateThresholdback to summary
public int getFailureRateThreshold()
getMinimumNumberOfCallsback to summary
public int getMinimumNumberOfCalls()
getNumberOfRecordedHistoryResponsesback to summary
public int getNumberOfRecordedHistoryResponses()
getPermittedNumberOfCallsInHalfOpenStateback to summary
public int getPermittedNumberOfCallsInHalfOpenState()
getRecordExceptionsback to summary
public List<Class<? extends RuntimeException>> getRecordExceptions()
getRecordHttpStatusesback to summary
public Set<Integer> getRecordHttpStatuses()
getSlidingWindowSizeback to summary
public int getSlidingWindowSize()
getSlowCallDurationThresholdback to summary
public Duration getSlowCallDurationThreshold()
getSlowCallRateThresholdback to summary
public int getSlowCallRateThreshold()
getWaitDurationInOpenStateback to summary
public Duration getWaitDurationInOpenState()
isRecordProcessingFailuresback to summary
public boolean isRecordProcessingFailures()
isWritableStackTraceEnabledback to summary
public boolean isWritableStackTraceEnabled()
com.oracle.bmc.circuitbreaker back to summary

public Class CircuitBreakerConfiguration.CircuitBreakerConfigurationBuilder

extends Object
Class Inheritance
  • java.lang.Object
  • com.oracle.bmc.circuitbreaker.CircuitBreakerConfiguration.CircuitBreakerConfigurationBuilder

Field Summary

Modifier and TypeField and Description
private boolean
private int
private boolean
private int
private boolean
private int
private boolean
private int
private boolean
private List<Class<? extends RuntimeException>>
private boolean
private Set<Integer>
private boolean
private boolean
private int
private boolean
private Duration
private boolean
private int
private boolean
private Duration
private boolean
private boolean

Constructor Summary

AccessConstructor and Description
pack-priv

Method Summary

Modifier and TypeMethod and Description
public CircuitBreakerConfiguration
public CircuitBreakerConfiguration.CircuitBreakerConfigurationBuilder
failureRateThreshold(int failureRateThreshold)

public CircuitBreakerConfiguration.CircuitBreakerConfigurationBuilder
minimumNumberOfCalls(int minimumNumberOfCalls)

public CircuitBreakerConfiguration.CircuitBreakerConfigurationBuilder
numberOfRecordedHistoryResponses(int numberOfRecordedHistoryResponses)

public CircuitBreakerConfiguration.CircuitBreakerConfigurationBuilder
permittedNumberOfCallsInHalfOpenState(int permittedNumberOfCallsInHalfOpenState)

public CircuitBreakerConfiguration.CircuitBreakerConfigurationBuilder
recordExceptions(List<Class<? extends RuntimeException>> recordExceptions)

public CircuitBreakerConfiguration.CircuitBreakerConfigurationBuilder
recordHttpStatuses(Set<Integer> recordHttpStatuses)

public CircuitBreakerConfiguration.CircuitBreakerConfigurationBuilder
recordProcessingFailures(boolean recordProcessingFailures)

public CircuitBreakerConfiguration.CircuitBreakerConfigurationBuilder
slidingWindowSize(int slidingWindowSize)

public CircuitBreakerConfiguration.CircuitBreakerConfigurationBuilder
slowCallDurationThreshold(Duration slowCallDurationThreshold)

public CircuitBreakerConfiguration.CircuitBreakerConfigurationBuilder
slowCallRateThreshold(int slowCallRateThreshold)

public String
toString()

Overrides java.lang.Object.toString.

Returns a string representation of the object.

public CircuitBreakerConfiguration.CircuitBreakerConfigurationBuilder
waitDurationInOpenState(Duration waitDurationInOpenState)

public CircuitBreakerConfiguration.CircuitBreakerConfigurationBuilder
writableStackTraceEnabled(boolean writableStackTraceEnabled)

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAllwaitwaitwait

Field Detail

failureRateThreshold$setback to summary
private boolean failureRateThreshold$set
failureRateThreshold$valueback to summary
private int failureRateThreshold$value
minimumNumberOfCalls$setback to summary
private boolean minimumNumberOfCalls$set
minimumNumberOfCalls$valueback to summary
private int minimumNumberOfCalls$value
numberOfRecordedHistoryResponses$setback to summary
private boolean numberOfRecordedHistoryResponses$set
numberOfRecordedHistoryResponses$valueback to summary
private int numberOfRecordedHistoryResponses$value
permittedNumberOfCallsInHalfOpenState$setback to summary
private boolean permittedNumberOfCallsInHalfOpenState$set
permittedNumberOfCallsInHalfOpenState$valueback to summary
private int permittedNumberOfCallsInHalfOpenState$value
recordExceptions$setback to summary
private boolean recordExceptions$set
recordExceptions$valueback to summary
private List<Class<? extends RuntimeException>> recordExceptions$value
recordHttpStatuses$setback to summary
private boolean recordHttpStatuses$set
recordHttpStatuses$valueback to summary
private Set<Integer> recordHttpStatuses$value
recordProcessingFailuresback to summary
private boolean recordProcessingFailures
slidingWindowSize$setback to summary
private boolean slidingWindowSize$set
slidingWindowSize$valueback to summary
private int slidingWindowSize$value
slowCallDurationThreshold$setback to summary
private boolean slowCallDurationThreshold$set
slowCallDurationThreshold$valueback to summary
private Duration slowCallDurationThreshold$value
slowCallRateThreshold$setback to summary
private boolean slowCallRateThreshold$set
slowCallRateThreshold$valueback to summary
private int slowCallRateThreshold$value
waitDurationInOpenState$setback to summary
private boolean waitDurationInOpenState$set
waitDurationInOpenState$valueback to summary
private Duration waitDurationInOpenState$value
writableStackTraceEnabled$setback to summary
private boolean writableStackTraceEnabled$set
writableStackTraceEnabled$valueback to summary
private boolean writableStackTraceEnabled$value

Constructor Detail

CircuitBreakerConfigurationBuilderback to summary
pack-priv CircuitBreakerConfigurationBuilder()

Method Detail

buildback to summary
public CircuitBreakerConfiguration build()
failureRateThresholdback to summary
public CircuitBreakerConfiguration.CircuitBreakerConfigurationBuilder failureRateThreshold(int failureRateThreshold)
minimumNumberOfCallsback to summary
public CircuitBreakerConfiguration.CircuitBreakerConfigurationBuilder minimumNumberOfCalls(int minimumNumberOfCalls)
numberOfRecordedHistoryResponsesback to summary
public CircuitBreakerConfiguration.CircuitBreakerConfigurationBuilder numberOfRecordedHistoryResponses(int numberOfRecordedHistoryResponses)
permittedNumberOfCallsInHalfOpenStateback to summary
public CircuitBreakerConfiguration.CircuitBreakerConfigurationBuilder permittedNumberOfCallsInHalfOpenState(int permittedNumberOfCallsInHalfOpenState)
recordExceptionsback to summary
public CircuitBreakerConfiguration.CircuitBreakerConfigurationBuilder recordExceptions(List<Class<? extends RuntimeException>> recordExceptions)
recordHttpStatusesback to summary
public CircuitBreakerConfiguration.CircuitBreakerConfigurationBuilder recordHttpStatuses(Set<Integer> recordHttpStatuses)
recordProcessingFailuresback to summary
public CircuitBreakerConfiguration.CircuitBreakerConfigurationBuilder recordProcessingFailures(boolean recordProcessingFailures)
slidingWindowSizeback to summary
public CircuitBreakerConfiguration.CircuitBreakerConfigurationBuilder slidingWindowSize(int slidingWindowSize)
slowCallDurationThresholdback to summary
public CircuitBreakerConfiguration.CircuitBreakerConfigurationBuilder slowCallDurationThreshold(Duration slowCallDurationThreshold)
slowCallRateThresholdback to summary
public CircuitBreakerConfiguration.CircuitBreakerConfigurationBuilder slowCallRateThreshold(int slowCallRateThreshold)
toStringback to summary
public String toString()

Overrides java.lang.Object.toString.

Doc from java.lang.Object.toString.

Returns a string representation of the object. Satisfying this method's contract implies a non-null result must be returned.

Returns:String

a string representation of the object

waitDurationInOpenStateback to summary
public CircuitBreakerConfiguration.CircuitBreakerConfigurationBuilder waitDurationInOpenState(Duration waitDurationInOpenState)
writableStackTraceEnabledback to summary
public CircuitBreakerConfiguration.CircuitBreakerConfigurationBuilder writableStackTraceEnabled(boolean writableStackTraceEnabled)