Class InMemoryCircuitBreakerRegistry
- java.lang.Object
-
- io.github.resilience4j.core.registry.AbstractRegistry<CircuitBreaker,CircuitBreakerConfig>
-
- io.github.resilience4j.circuitbreaker.internal.InMemoryCircuitBreakerRegistry
-
- All Implemented Interfaces:
CircuitBreakerRegistry,io.github.resilience4j.core.Registry<CircuitBreaker,CircuitBreakerConfig>
public final class InMemoryCircuitBreakerRegistry extends io.github.resilience4j.core.registry.AbstractRegistry<CircuitBreaker,CircuitBreakerConfig> implements CircuitBreakerRegistry
Backend circuitBreaker manager. Constructs backend circuitBreakers according to configuration values.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface io.github.resilience4j.circuitbreaker.CircuitBreakerRegistry
CircuitBreakerRegistry.Builder
-
-
Constructor Summary
Constructors Constructor Description InMemoryCircuitBreakerRegistry()The constructor with default default.InMemoryCircuitBreakerRegistry(CircuitBreakerConfig defaultConfig)The constructor with custom default config.InMemoryCircuitBreakerRegistry(CircuitBreakerConfig defaultConfig, io.github.resilience4j.core.registry.RegistryEventConsumer<CircuitBreaker> registryEventConsumer)InMemoryCircuitBreakerRegistry(CircuitBreakerConfig defaultConfig, io.github.resilience4j.core.registry.RegistryEventConsumer<CircuitBreaker> registryEventConsumer, io.vavr.collection.Map<java.lang.String,java.lang.String> tags)InMemoryCircuitBreakerRegistry(CircuitBreakerConfig defaultConfig, io.vavr.collection.Map<java.lang.String,java.lang.String> tags)The constructor with custom default config.InMemoryCircuitBreakerRegistry(CircuitBreakerConfig defaultConfig, java.util.List<io.github.resilience4j.core.registry.RegistryEventConsumer<CircuitBreaker>> registryEventConsumers)InMemoryCircuitBreakerRegistry(io.vavr.collection.Map<java.lang.String,java.lang.String> tags)InMemoryCircuitBreakerRegistry(java.util.Map<java.lang.String,CircuitBreakerConfig> configs)InMemoryCircuitBreakerRegistry(java.util.Map<java.lang.String,CircuitBreakerConfig> configs, io.github.resilience4j.core.registry.RegistryEventConsumer<CircuitBreaker> registryEventConsumer)InMemoryCircuitBreakerRegistry(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)InMemoryCircuitBreakerRegistry(java.util.Map<java.lang.String,CircuitBreakerConfig> configs, io.vavr.collection.Map<java.lang.String,java.lang.String> tags)InMemoryCircuitBreakerRegistry(java.util.Map<java.lang.String,CircuitBreakerConfig> configs, java.util.List<io.github.resilience4j.core.registry.RegistryEventConsumer<CircuitBreaker>> registryEventConsumers)InMemoryCircuitBreakerRegistry(java.util.Map<java.lang.String,CircuitBreakerConfig> configs, java.util.List<io.github.resilience4j.core.registry.RegistryEventConsumer<CircuitBreaker>> registryEventConsumers, io.vavr.collection.Map<java.lang.String,java.lang.String> tags, io.github.resilience4j.core.RegistryStore<CircuitBreaker> registryStore)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description CircuitBreakercircuitBreaker(java.lang.String name)Returns a managedCircuitBreakeror creates a new one with the default CircuitBreaker configuration.CircuitBreakercircuitBreaker(java.lang.String name, CircuitBreakerConfig config)Returns a managedCircuitBreakeror creates a new one with a custom CircuitBreaker configuration.CircuitBreakercircuitBreaker(java.lang.String name, CircuitBreakerConfig config, io.vavr.collection.Map<java.lang.String,java.lang.String> tags)Returns a managedCircuitBreakeror creates a new one with a custom CircuitBreaker configuration.CircuitBreakercircuitBreaker(java.lang.String name, io.vavr.collection.Map<java.lang.String,java.lang.String> tags)Returns a managedCircuitBreakeror creates a new one with the default CircuitBreaker configuration.CircuitBreakercircuitBreaker(java.lang.String name, java.lang.String configName)Returns a managedCircuitBreakeror creates a new one.CircuitBreakercircuitBreaker(java.lang.String name, java.lang.String configName, io.vavr.collection.Map<java.lang.String,java.lang.String> tags)Returns a managedCircuitBreakeror creates a new one.CircuitBreakercircuitBreaker(java.lang.String name, java.util.function.Supplier<CircuitBreakerConfig> circuitBreakerConfigSupplier)Returns a managedCircuitBreakeror creates a new one with a custom CircuitBreaker configuration.CircuitBreakercircuitBreaker(java.lang.String name, java.util.function.Supplier<CircuitBreakerConfig> circuitBreakerConfigSupplier, io.vavr.collection.Map<java.lang.String,java.lang.String> tags)Returns a managedCircuitBreakeror creates a new one with a custom CircuitBreaker configuration.io.vavr.collection.Seq<CircuitBreaker>getAllCircuitBreakers()Returns all managedCircuitBreakerinstances.-
Methods inherited from class io.github.resilience4j.core.registry.AbstractRegistry
addConfiguration, computeIfAbsent, find, getAllTags, getConfiguration, getDefaultConfig, getEventPublisher, getTags, remove, replace
-
-
-
-
Constructor Detail
-
InMemoryCircuitBreakerRegistry
public InMemoryCircuitBreakerRegistry()
The constructor with default default.
-
InMemoryCircuitBreakerRegistry
public InMemoryCircuitBreakerRegistry(io.vavr.collection.Map<java.lang.String,java.lang.String> tags)
-
InMemoryCircuitBreakerRegistry
public InMemoryCircuitBreakerRegistry(java.util.Map<java.lang.String,CircuitBreakerConfig> configs)
-
InMemoryCircuitBreakerRegistry
public InMemoryCircuitBreakerRegistry(java.util.Map<java.lang.String,CircuitBreakerConfig> configs, io.vavr.collection.Map<java.lang.String,java.lang.String> tags)
-
InMemoryCircuitBreakerRegistry
public InMemoryCircuitBreakerRegistry(java.util.Map<java.lang.String,CircuitBreakerConfig> configs, io.github.resilience4j.core.registry.RegistryEventConsumer<CircuitBreaker> registryEventConsumer)
-
InMemoryCircuitBreakerRegistry
public InMemoryCircuitBreakerRegistry(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)
-
InMemoryCircuitBreakerRegistry
public InMemoryCircuitBreakerRegistry(java.util.Map<java.lang.String,CircuitBreakerConfig> configs, java.util.List<io.github.resilience4j.core.registry.RegistryEventConsumer<CircuitBreaker>> registryEventConsumers, io.vavr.collection.Map<java.lang.String,java.lang.String> tags, io.github.resilience4j.core.RegistryStore<CircuitBreaker> registryStore)
-
InMemoryCircuitBreakerRegistry
public InMemoryCircuitBreakerRegistry(java.util.Map<java.lang.String,CircuitBreakerConfig> configs, java.util.List<io.github.resilience4j.core.registry.RegistryEventConsumer<CircuitBreaker>> registryEventConsumers)
-
InMemoryCircuitBreakerRegistry
public InMemoryCircuitBreakerRegistry(CircuitBreakerConfig defaultConfig)
The constructor with custom default config.- Parameters:
defaultConfig- The default config.
-
InMemoryCircuitBreakerRegistry
public InMemoryCircuitBreakerRegistry(CircuitBreakerConfig defaultConfig, io.vavr.collection.Map<java.lang.String,java.lang.String> tags)
The constructor with custom default config.- Parameters:
defaultConfig- The default config.tags- The tags to add to the CircuitBreaker
-
InMemoryCircuitBreakerRegistry
public InMemoryCircuitBreakerRegistry(CircuitBreakerConfig defaultConfig, io.github.resilience4j.core.registry.RegistryEventConsumer<CircuitBreaker> registryEventConsumer)
-
InMemoryCircuitBreakerRegistry
public InMemoryCircuitBreakerRegistry(CircuitBreakerConfig defaultConfig, io.github.resilience4j.core.registry.RegistryEventConsumer<CircuitBreaker> registryEventConsumer, io.vavr.collection.Map<java.lang.String,java.lang.String> tags)
-
InMemoryCircuitBreakerRegistry
public InMemoryCircuitBreakerRegistry(CircuitBreakerConfig defaultConfig, java.util.List<io.github.resilience4j.core.registry.RegistryEventConsumer<CircuitBreaker>> registryEventConsumers)
-
-
Method Detail
-
getAllCircuitBreakers
public io.vavr.collection.Seq<CircuitBreaker> getAllCircuitBreakers()
Returns all managedCircuitBreakerinstances.- Specified by:
getAllCircuitBreakersin interfaceCircuitBreakerRegistry- Returns:
- all managed
CircuitBreakerinstances.
-
circuitBreaker
public CircuitBreaker circuitBreaker(java.lang.String name)
Returns a managedCircuitBreakeror creates a new one with the default CircuitBreaker configuration.- Specified by:
circuitBreakerin interfaceCircuitBreakerRegistry- Parameters:
name- the name of the CircuitBreaker- Returns:
- The
CircuitBreaker
-
circuitBreaker
public CircuitBreaker circuitBreaker(java.lang.String name, io.vavr.collection.Map<java.lang.String,java.lang.String> tags)
Description copied from interface:CircuitBreakerRegistryReturns a managedCircuitBreakeror creates a new one with the default CircuitBreaker configuration.The
tagspassed 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.- Specified by:
circuitBreakerin interfaceCircuitBreakerRegistry- Parameters:
name- the name of the CircuitBreakertags- tags added to the CircuitBreaker- Returns:
- The
CircuitBreaker
-
circuitBreaker
public CircuitBreaker circuitBreaker(java.lang.String name, CircuitBreakerConfig config)
Returns a managedCircuitBreakeror creates a new one with a custom CircuitBreaker configuration.- Specified by:
circuitBreakerin interfaceCircuitBreakerRegistry- Parameters:
name- the name of the CircuitBreakerconfig- a custom CircuitBreaker configuration- Returns:
- The
CircuitBreaker
-
circuitBreaker
public CircuitBreaker circuitBreaker(java.lang.String name, CircuitBreakerConfig config, io.vavr.collection.Map<java.lang.String,java.lang.String> tags)
Description copied from interface:CircuitBreakerRegistryReturns a managedCircuitBreakeror creates a new one with a custom CircuitBreaker configuration.The
tagspassed 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.- Specified by:
circuitBreakerin interfaceCircuitBreakerRegistry- Parameters:
name- the name of the CircuitBreakerconfig- a custom CircuitBreaker configurationtags- tags added to the CircuitBreaker- Returns:
- The
CircuitBreaker
-
circuitBreaker
public CircuitBreaker circuitBreaker(java.lang.String name, java.lang.String configName)
Returns a managedCircuitBreakeror creates a new one. The configuration must have been added upfront viaRegistry.addConfiguration(String, Object).- Specified by:
circuitBreakerin interfaceCircuitBreakerRegistry- Parameters:
name- the name of the CircuitBreakerconfigName- the name of the shared configuration- Returns:
- The
CircuitBreaker
-
circuitBreaker
public CircuitBreaker circuitBreaker(java.lang.String name, java.lang.String configName, io.vavr.collection.Map<java.lang.String,java.lang.String> tags)
Description copied from interface:CircuitBreakerRegistryReturns a managedCircuitBreakeror creates a new one. The configuration must have been added upfront viaRegistry.addConfiguration(String, Object).The
tagspassed 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.- Specified by:
circuitBreakerin interfaceCircuitBreakerRegistry- Parameters:
name- the name of the CircuitBreakerconfigName- the name of the shared configurationtags- tags added to the CircuitBreaker- Returns:
- The
CircuitBreaker
-
circuitBreaker
public CircuitBreaker circuitBreaker(java.lang.String name, java.util.function.Supplier<CircuitBreakerConfig> circuitBreakerConfigSupplier)
Returns a managedCircuitBreakeror creates a new one with a custom CircuitBreaker configuration.- Specified by:
circuitBreakerin interfaceCircuitBreakerRegistry- Parameters:
name- the name of the CircuitBreakercircuitBreakerConfigSupplier- a supplier of a custom CircuitBreaker configuration- Returns:
- The
CircuitBreaker
-
circuitBreaker
public CircuitBreaker circuitBreaker(java.lang.String name, java.util.function.Supplier<CircuitBreakerConfig> circuitBreakerConfigSupplier, io.vavr.collection.Map<java.lang.String,java.lang.String> tags)
Description copied from interface:CircuitBreakerRegistryReturns a managedCircuitBreakeror creates a new one with a custom CircuitBreaker configuration.The
tagspassed 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.- Specified by:
circuitBreakerin interfaceCircuitBreakerRegistry- Parameters:
name- the name of the CircuitBreakercircuitBreakerConfigSupplier- a supplier of a custom CircuitBreaker configurationtags- tags added to the CircuitBreaker- Returns:
- The
CircuitBreaker
-
-