Interface CircuitBreakerRegistry
-
- All Superinterfaces:
io.github.resilience4j.core.Registry<CircuitBreaker,CircuitBreakerConfig>
- All Known Implementing Classes:
InMemoryCircuitBreakerRegistry
public interface CircuitBreakerRegistry extends io.github.resilience4j.core.Registry<CircuitBreaker,CircuitBreakerConfig>
TheCircuitBreakerRegistry
is a factory to create CircuitBreaker instances which stores all CircuitBreaker instances in a registry.
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static class
CircuitBreakerRegistry.Builder
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Modifier and Type Method Description CircuitBreaker
circuitBreaker(java.lang.String name)
Returns a managedCircuitBreaker
or creates a new one with the default CircuitBreaker configuration.CircuitBreaker
circuitBreaker(java.lang.String name, CircuitBreakerConfig config)
Returns a managedCircuitBreaker
or creates a new one with a custom CircuitBreaker configuration.CircuitBreaker
circuitBreaker(java.lang.String name, CircuitBreakerConfig config, io.vavr.collection.Map<java.lang.String,java.lang.String> tags)
Returns a managedCircuitBreaker
or creates a new one with a custom CircuitBreaker configuration.CircuitBreaker
circuitBreaker(java.lang.String name, io.vavr.collection.Map<java.lang.String,java.lang.String> tags)
Returns a managedCircuitBreaker
or creates a new one with the default CircuitBreaker configuration.CircuitBreaker
circuitBreaker(java.lang.String name, java.lang.String configName)
Returns a managedCircuitBreaker
or creates a new one.CircuitBreaker
circuitBreaker(java.lang.String name, java.lang.String configName, io.vavr.collection.Map<java.lang.String,java.lang.String> tags)
Returns a managedCircuitBreaker
or creates a new one.CircuitBreaker
circuitBreaker(java.lang.String name, java.util.function.Supplier<CircuitBreakerConfig> circuitBreakerConfigSupplier)
Returns a managedCircuitBreaker
or creates a new one with a custom CircuitBreaker configuration.CircuitBreaker
circuitBreaker(java.lang.String name, java.util.function.Supplier<CircuitBreakerConfig> circuitBreakerConfigSupplier, io.vavr.collection.Map<java.lang.String,java.lang.String> tags)
Returns a managedCircuitBreaker
or creates a new one with a custom CircuitBreaker configuration.static CircuitBreakerRegistry.Builder
custom()
Returns a builder to create a custom CircuitBreakerRegistry.io.vavr.collection.Seq<CircuitBreaker>
getAllCircuitBreakers()
Returns all managedCircuitBreaker
instances.static CircuitBreakerRegistry
of(CircuitBreakerConfig circuitBreakerConfig)
Creates a CircuitBreakerRegistry with a custom default CircuitBreaker configuration.static CircuitBreakerRegistry
of(CircuitBreakerConfig circuitBreakerConfig, io.github.resilience4j.core.registry.RegistryEventConsumer<CircuitBreaker> registryEventConsumer)
Creates a CircuitBreakerRegistry with a custom default CircuitBreaker configuration and a CircuitBreaker registry event consumer.static CircuitBreakerRegistry
of(CircuitBreakerConfig circuitBreakerConfig, java.util.List<io.github.resilience4j.core.registry.RegistryEventConsumer<CircuitBreaker>> registryEventConsumers)
Creates a CircuitBreakerRegistry with a custom default CircuitBreaker configuration and a list of CircuitBreaker registry event consumers.static CircuitBreakerRegistry
of(java.util.Map<java.lang.String,CircuitBreakerConfig> configs)
Creates a CircuitBreakerRegistry with a Map of shared CircuitBreaker configurations.static CircuitBreakerRegistry
of(java.util.Map<java.lang.String,CircuitBreakerConfig> configs, io.github.resilience4j.core.registry.RegistryEventConsumer<CircuitBreaker> registryEventConsumer)
Creates a CircuitBreakerRegistry with a Map of shared CircuitBreaker configurations and a CircuitBreaker registry event consumer.static CircuitBreakerRegistry
of(java.util.Map<java.lang.String,CircuitBreakerConfig> configs, io.github.resilience4j.core.registry.RegistryEventConsumer<CircuitBreaker> registryEventConsumer, io.vavr.collection.Map<java.lang.String,java.lang.String> tags)
Creates a CircuitBreakerRegistry with a Map of shared CircuitBreaker configurations and a CircuitBreaker registry event consumer.static CircuitBreakerRegistry
of(java.util.Map<java.lang.String,CircuitBreakerConfig> configs, io.vavr.collection.Map<java.lang.String,java.lang.String> tags)
Creates a CircuitBreakerRegistry with a Map of shared CircuitBreaker configurations.static CircuitBreakerRegistry
of(java.util.Map<java.lang.String,CircuitBreakerConfig> configs, java.util.List<io.github.resilience4j.core.registry.RegistryEventConsumer<CircuitBreaker>> registryEventConsumers)
Creates a CircuitBreakerRegistry with a Map of shared CircuitBreaker configurations and a list of CircuitBreaker registry event consumers.static CircuitBreakerRegistry
ofDefaults()
Creates a CircuitBreakerRegistry with a default CircuitBreaker configuration.
-
-
-
Method Detail
-
of
static CircuitBreakerRegistry of(CircuitBreakerConfig circuitBreakerConfig)
Creates a CircuitBreakerRegistry with a custom default CircuitBreaker configuration.- Parameters:
circuitBreakerConfig
- a custom default CircuitBreaker configuration- Returns:
- a CircuitBreakerRegistry with a custom CircuitBreaker configuration.
-
of
static CircuitBreakerRegistry of(CircuitBreakerConfig circuitBreakerConfig, io.github.resilience4j.core.registry.RegistryEventConsumer<CircuitBreaker> registryEventConsumer)
Creates a CircuitBreakerRegistry with a custom default CircuitBreaker configuration and a CircuitBreaker registry event consumer.- Parameters:
circuitBreakerConfig
- a custom default CircuitBreaker configuration.registryEventConsumer
- a CircuitBreaker registry event consumer.- Returns:
- a CircuitBreakerRegistry with a custom CircuitBreaker configuration and a CircuitBreaker registry event consumer.
-
of
static CircuitBreakerRegistry of(CircuitBreakerConfig circuitBreakerConfig, java.util.List<io.github.resilience4j.core.registry.RegistryEventConsumer<CircuitBreaker>> registryEventConsumers)
Creates a CircuitBreakerRegistry with a custom default CircuitBreaker configuration and a list of CircuitBreaker registry event consumers.- Parameters:
circuitBreakerConfig
- a custom default CircuitBreaker configuration.registryEventConsumers
- a list of CircuitBreaker registry event consumers.- Returns:
- a CircuitBreakerRegistry with a custom CircuitBreaker configuration and list of CircuitBreaker registry event consumers.
-
of
static CircuitBreakerRegistry of(java.util.Map<java.lang.String,CircuitBreakerConfig> configs)
Creates a CircuitBreakerRegistry with a Map of shared CircuitBreaker configurations.- Parameters:
configs
- a Map of shared CircuitBreaker configurations- Returns:
- a CircuitBreakerRegistry with a Map of shared CircuitBreaker configurations.
-
of
static CircuitBreakerRegistry of(java.util.Map<java.lang.String,CircuitBreakerConfig> configs, io.vavr.collection.Map<java.lang.String,java.lang.String> tags)
Creates a CircuitBreakerRegistry with a Map of shared CircuitBreaker configurations.Tags added to the registry will be added to every instance created by this registry.
- Parameters:
configs
- a Map of shared CircuitBreaker configurationstags
- default tags to add to the registry- Returns:
- a CircuitBreakerRegistry with a Map of shared CircuitBreaker configurations.
-
of
static CircuitBreakerRegistry of(java.util.Map<java.lang.String,CircuitBreakerConfig> configs, io.github.resilience4j.core.registry.RegistryEventConsumer<CircuitBreaker> registryEventConsumer)
Creates a CircuitBreakerRegistry with a Map of shared CircuitBreaker configurations and a CircuitBreaker registry event consumer.- Parameters:
configs
- a Map of shared CircuitBreaker configurations.registryEventConsumer
- a CircuitBreaker registry event consumer.- Returns:
- a CircuitBreakerRegistry with a Map of shared CircuitBreaker configurations and a CircuitBreaker registry event consumer.
-
of
static CircuitBreakerRegistry of(java.util.Map<java.lang.String,CircuitBreakerConfig> configs, io.github.resilience4j.core.registry.RegistryEventConsumer<CircuitBreaker> registryEventConsumer, io.vavr.collection.Map<java.lang.String,java.lang.String> tags)
Creates a CircuitBreakerRegistry with a Map of shared CircuitBreaker configurations and a CircuitBreaker registry event consumer.- Parameters:
configs
- a Map of shared CircuitBreaker configurations.registryEventConsumer
- a CircuitBreaker registry event consumer.tags
- default tags to add to the registry- Returns:
- a CircuitBreakerRegistry with a Map of shared CircuitBreaker configurations and a CircuitBreaker registry event consumer.
-
of
static CircuitBreakerRegistry of(java.util.Map<java.lang.String,CircuitBreakerConfig> configs, java.util.List<io.github.resilience4j.core.registry.RegistryEventConsumer<CircuitBreaker>> registryEventConsumers)
Creates a CircuitBreakerRegistry with a Map of shared CircuitBreaker configurations and a list of CircuitBreaker registry event consumers.- Parameters:
configs
- a Map of shared CircuitBreaker configurations.registryEventConsumers
- a list of CircuitBreaker registry event consumers.- Returns:
- a CircuitBreakerRegistry with a Map of shared CircuitBreaker configurations and a list of CircuitBreaker registry event consumers.
-
ofDefaults
static CircuitBreakerRegistry ofDefaults()
Creates a CircuitBreakerRegistry with a default CircuitBreaker configuration.- Returns:
- a CircuitBreakerRegistry with a default CircuitBreaker configuration.
-
getAllCircuitBreakers
io.vavr.collection.Seq<CircuitBreaker> getAllCircuitBreakers()
Returns all managedCircuitBreaker
instances.- Returns:
- all managed
CircuitBreaker
instances.
-
circuitBreaker
CircuitBreaker circuitBreaker(java.lang.String name)
Returns a managedCircuitBreaker
or creates a new one with the default CircuitBreaker configuration.- Parameters:
name
- the name of the CircuitBreaker- Returns:
- The
CircuitBreaker
-
circuitBreaker
CircuitBreaker circuitBreaker(java.lang.String name, io.vavr.collection.Map<java.lang.String,java.lang.String> tags)
Returns a managedCircuitBreaker
or creates a new one with the default CircuitBreaker configuration.The
tags
passed will be appended to the tags already configured for the registry. When tags (keys) of the two collide the tags passed with this method will override the tags of the registry.- Parameters:
name
- the name of the CircuitBreakertags
- tags added to the CircuitBreaker- Returns:
- The
CircuitBreaker
-
circuitBreaker
CircuitBreaker circuitBreaker(java.lang.String name, CircuitBreakerConfig config)
Returns a managedCircuitBreaker
or creates a new one with a custom CircuitBreaker configuration.- Parameters:
name
- the name of the CircuitBreakerconfig
- a custom CircuitBreaker configuration- Returns:
- The
CircuitBreaker
-
circuitBreaker
CircuitBreaker circuitBreaker(java.lang.String name, CircuitBreakerConfig config, io.vavr.collection.Map<java.lang.String,java.lang.String> tags)
Returns a managedCircuitBreaker
or creates a new one with a custom CircuitBreaker configuration.The
tags
passed will be appended to the tags already configured for the registry. When tags (keys) of the two collide the tags passed with this method will override the tags of the registry.- Parameters:
name
- the name of the CircuitBreakerconfig
- a custom CircuitBreaker configurationtags
- tags added to the CircuitBreaker- Returns:
- The
CircuitBreaker
-
circuitBreaker
CircuitBreaker circuitBreaker(java.lang.String name, java.lang.String configName)
Returns a managedCircuitBreaker
or creates a new one. The configuration must have been added upfront viaRegistry.addConfiguration(String, Object)
.- Parameters:
name
- the name of the CircuitBreakerconfigName
- the name of the shared configuration- Returns:
- The
CircuitBreaker
-
circuitBreaker
CircuitBreaker circuitBreaker(java.lang.String name, java.lang.String configName, io.vavr.collection.Map<java.lang.String,java.lang.String> tags)
Returns a managedCircuitBreaker
or creates a new one. The configuration must have been added upfront viaRegistry.addConfiguration(String, Object)
.The
tags
passed will be appended to the tags already configured for the registry. When tags (keys) of the two collide the tags passed with this method will override the tags of the registry.- Parameters:
name
- the name of the CircuitBreakerconfigName
- the name of the shared configurationtags
- tags added to the CircuitBreaker- Returns:
- The
CircuitBreaker
-
circuitBreaker
CircuitBreaker circuitBreaker(java.lang.String name, java.util.function.Supplier<CircuitBreakerConfig> circuitBreakerConfigSupplier)
Returns a managedCircuitBreaker
or creates a new one with a custom CircuitBreaker configuration.- Parameters:
name
- the name of the CircuitBreakercircuitBreakerConfigSupplier
- a supplier of a custom CircuitBreaker configuration- Returns:
- The
CircuitBreaker
-
circuitBreaker
CircuitBreaker circuitBreaker(java.lang.String name, java.util.function.Supplier<CircuitBreakerConfig> circuitBreakerConfigSupplier, io.vavr.collection.Map<java.lang.String,java.lang.String> tags)
Returns a managedCircuitBreaker
or creates a new one with a custom CircuitBreaker configuration.The
tags
passed will be appended to the tags already configured for the registry. When tags (keys) of the two collide the tags passed with this method will override the tags of the registry.- Parameters:
name
- the name of the CircuitBreakercircuitBreakerConfigSupplier
- a supplier of a custom CircuitBreaker configurationtags
- tags added to the CircuitBreaker- Returns:
- The
CircuitBreaker
-
custom
static CircuitBreakerRegistry.Builder custom()
Returns a builder to create a custom CircuitBreakerRegistry.- Returns:
- a
CircuitBreakerRegistry.Builder
-
-