Fault Tolerance Configuration

This page documents all the specific options for the Fault Tolerance EIP.

The Fault Tolerance Configuration eip supports 13 options, which are listed below.

Name Description Default Type

circuitBreaker

Refers to an existing io.smallrye.faulttolerance.core.circuit.breaker.CircuitBreaker instance to lookup and use from the registry. When using this, then any other circuit breaker options are not in use.

String

delay

Control how long the circuit breaker stays open. The default is 5 seconds.

5000

String

successThreshold

Controls the number of trial calls which are allowed when the circuit breaker is half-open.

1

Integer

requestVolumeThreshold

Controls the size of the rolling window used when the circuit breaker is closed.

20

Integer

failureRatio

Configures the failure rate threshold in percentage. If the failure rate is equal or greater than the threshold the CircuitBreaker transitions to open and starts short-circuiting calls. The threshold must be greater than 0 and not greater than 100. Default value is 50 percentage.

50

Integer

timeoutEnabled

Whether timeout is enabled or not on the circuit breaker. Default is false.

Boolean

timeoutDuration

Configures the thread execution timeout. Default value is 1 second.

1000

String

timeoutPoolSize

Configures the pool size of the thread pool when timeout is enabled. Default value is 10.

10

Integer

timeoutScheduledExecutorService

References to a custom thread pool to use when timeout is enabled.

ScheduledExecutorService

bulkheadEnabled

Whether bulkhead is enabled or not on the circuit breaker. Default is false.

Boolean

bulkheadMaxConcurrentCalls

Configures the max amount of concurrent calls the bulkhead will support.

10

Integer

bulkheadWaitingTaskQueue

Configures the task queue size for holding waiting tasks to be processed by the bulkhead.

10

Integer

bulkheadExecutorService

References to a custom thread pool to use when bulkhead is enabled.

ExecutorService

Example

See Fault Tolerance EIP for details how to use this EIP.