vertx / io.vertx.kotlin.circuitbreaker / circuitBreakerOptionsOf

# circuitBreakerOptionsOf

`fun circuitBreakerOptionsOf(failuresRollingWindow: Long? = null, fallbackOnFailure: Boolean? = null, maxFailures: Int? = null, maxRetries: Int? = null, metricsRollingBuckets: Int? = null, metricsRollingWindow: Long? = null, notificationAddress: String? = null, notificationPeriod: Long? = null, resetTimeout: Long? = null, timeout: Long? = null): CircuitBreakerOptions`

A function providing a DSL for building io.vertx.circuitbreaker.CircuitBreakerOptions objects.

Circuit breaker configuration options. All time are given in milliseconds.

### Parameters

`failuresRollingWindow` - Sets the rolling window used for metrics.

`fallbackOnFailure` - Sets whether or not the fallback is executed on failure, even when the circuit is closed.

`maxFailures` - Sets the maximum number of failures before opening the circuit.

`maxRetries` - Configures the number of times the circuit breaker tries to redo the operation before failing.

`metricsRollingBuckets` - Sets the configured number of buckets the rolling window is divided into. The following must be true - metrics.rollingStats.timeInMilliseconds % metrics.rollingStats.numBuckets == 0 - otherwise it will throw an exception. In other words, 10000/10 is okay, so is 10000/20 but 10000/7 is not.

`metricsRollingWindow` - Sets the rolling window used for metrics.

`notificationAddress` - Sets the event bus address on which the circuit breaker publish its state change.

`notificationPeriod` - Configures the period in milliseconds where the circuit breaker send a notification on the event bus with its current state.

`resetTimeout` - Sets the time in ms before it attempts to re-close the circuit (by going to the half-open state). If the circuit is closed when the timeout is reached, nothing happens. -1 disables this feature.

`timeout` - Sets the timeout in milliseconds. If an action is not completed before this timeout, the action is considered as a failure.