Class CircuitBreakerBundle.Builder<C extends io.dropwizard.core.Configuration>
java.lang.Object
org.sdase.commons.server.circuitbreaker.CircuitBreakerBundle.Builder<C>
- All Implemented Interfaces:
CircuitBreakerBundle.ConfigurationBuilder
,CircuitBreakerBundle.ExceptionBuilder<C>
,CircuitBreakerBundle.FinalBuilder<C>
- Enclosing class:
- CircuitBreakerBundle<T extends io.dropwizard.core.Configuration>
public static class CircuitBreakerBundle.Builder<C extends io.dropwizard.core.Configuration>
extends Object
implements CircuitBreakerBundle.ConfigurationBuilder, CircuitBreakerBundle.ExceptionBuilder<C>, CircuitBreakerBundle.FinalBuilder<C>
-
Method Summary
Modifier and TypeMethodDescriptionbuild()
Create a new instance.ignoreExceptions
(Class<? extends Throwable>... errorClasses) Configures a list of error classes that are ignored as a failure and thus do not increase the failure rate.recordExceptions
(Class<? extends Throwable>... errorClasses) Configures a list of error classes that are recorded as a failure and thus increase the failure rate.<T extends io.dropwizard.core.Configuration>
CircuitBreakerBundle.ExceptionBuilder<T>withConfigProvider
(CircuitBreakerConfigurationProvider<T> provider) Use a provider for a custom default configuration for circuit breakers created using the bundle.<T extends io.dropwizard.core.Configuration>
CircuitBreakerBundle.ExceptionBuilder<T>Provide a custom default configuration for circuit breakers created using the bundle.<T extends io.dropwizard.core.Configuration>
CircuitBreakerBundle.ExceptionBuilder<T>Use the default configuration for circuit breakers created using the bundle.
-
Method Details
-
withCustomConfig
public <T extends io.dropwizard.core.Configuration> CircuitBreakerBundle.ExceptionBuilder<T> withCustomConfig(CircuitBreakerConfiguration config) Description copied from interface:CircuitBreakerBundle.ConfigurationBuilder
Provide a custom default configuration for circuit breakers created using the bundle.- Specified by:
withCustomConfig
in interfaceCircuitBreakerBundle.ConfigurationBuilder
- Type Parameters:
T
- Type of the Dropwizard configuration.- Parameters:
config
- The circuit breaker configuration.- Returns:
- the same builder instance
-
withConfigProvider
public <T extends io.dropwizard.core.Configuration> CircuitBreakerBundle.ExceptionBuilder<T> withConfigProvider(CircuitBreakerConfigurationProvider<T> provider) Description copied from interface:CircuitBreakerBundle.ConfigurationBuilder
Use a provider for a custom default configuration for circuit breakers created using the bundle.- Specified by:
withConfigProvider
in interfaceCircuitBreakerBundle.ConfigurationBuilder
- Type Parameters:
T
- Type of the Dropwizard configuration.- Parameters:
provider
- Provider to extract the circuit breaker configuration from the Dropwizard configuration.- Returns:
- the same builder instance
-
withDefaultConfig
public <T extends io.dropwizard.core.Configuration> CircuitBreakerBundle.ExceptionBuilder<T> withDefaultConfig()Description copied from interface:CircuitBreakerBundle.ConfigurationBuilder
Use the default configuration for circuit breakers created using the bundle.- Specified by:
withDefaultConfig
in interfaceCircuitBreakerBundle.ConfigurationBuilder
- Type Parameters:
T
- Type of the Dropwizard configuration.- Returns:
- the same builder instance
-
recordExceptions
@SafeVarargs public final CircuitBreakerBundle.ExceptionBuilder<C> recordExceptions(Class<? extends Throwable>... errorClasses) Description copied from interface:CircuitBreakerBundle.ExceptionBuilder
Configures a list of error classes that are recorded as a failure and thus increase the failure rate. Any exception matching or inheriting from one of the list should count as a failure, unless ignored- Specified by:
recordExceptions
in interfaceCircuitBreakerBundle.ExceptionBuilder<C extends io.dropwizard.core.Configuration>
- Parameters:
errorClasses
- the error classes that are recorded- Returns:
- the same builder instance
-
ignoreExceptions
@SafeVarargs public final CircuitBreakerBundle.ExceptionBuilder<C> ignoreExceptions(Class<? extends Throwable>... errorClasses) Description copied from interface:CircuitBreakerBundle.ExceptionBuilder
Configures a list of error classes that are ignored as a failure and thus do not increase the failure rate. Any exception matching or inheriting from one of the list will not count as a failure, even if marked via record.- Specified by:
ignoreExceptions
in interfaceCircuitBreakerBundle.ExceptionBuilder<C extends io.dropwizard.core.Configuration>
- Parameters:
errorClasses
- the error classes that are ignored- Returns:
- the same builder instance
-
build
Description copied from interface:CircuitBreakerBundle.FinalBuilder
Create a new instance.- Specified by:
build
in interfaceCircuitBreakerBundle.FinalBuilder<C extends io.dropwizard.core.Configuration>
- Returns:
- A new
CircuitBreakerBundle
-