Top Description Inners Methods
io.github.resilience4j.circuitbreaker

public Interface CircuitBreakerRegistry

extends Registry<CircuitBreaker, CircuitBreakerConfig>
Known Direct Implementers
io.github.resilience4j.circuitbreaker.internal.InMemoryCircuitBreakerRegistry
Imports
io.github.resilience4j.circuitbreaker.internal.InMemoryCircuitBreakerRegistry, io.github.resilience4j.core.Registry, .RegistryStore, io.github.resilience4j.core.registry.RegistryEventConsumer, java.util.ArrayList, .List, .Map, .Set, java.util.function.Supplier

The CircuitBreakerRegistry is a factory to create CircuitBreaker instances which stores all CircuitBreaker instances in a registry.

Nested and Inner Type Summary

Modifier and TypeClass and Description
public static class

Method Summary

Modifier and TypeMethod and Description
public CircuitBreaker

Returns:

The CircuitBreaker
circuitBreaker
(String
the name of the CircuitBreaker
name
)

Returns a managed CircuitBreaker or creates a new one with the default CircuitBreaker configuration.

public CircuitBreaker

Returns:

The CircuitBreaker
circuitBreaker
(String
the name of the CircuitBreaker
name
,
Map<String, String>
tags added to the CircuitBreaker
tags
)

Returns a managed CircuitBreaker or creates a new one with the default CircuitBreaker configuration.

public CircuitBreaker

Returns:

The CircuitBreaker
circuitBreaker
(String
the name of the CircuitBreaker
name
,
CircuitBreakerConfig
a custom CircuitBreaker configuration
config
)

Returns a managed CircuitBreaker or creates a new one with a custom CircuitBreaker configuration.

public CircuitBreaker

Returns:

The CircuitBreaker
circuitBreaker
(String
the name of the CircuitBreaker
name
,
CircuitBreakerConfig
a custom CircuitBreaker configuration
config
,
Map<String, String>
tags added to the CircuitBreaker
tags
)

Returns a managed CircuitBreaker or creates a new one with a custom CircuitBreaker configuration.

public CircuitBreaker

Returns:

The CircuitBreaker
circuitBreaker
(String
the name of the CircuitBreaker
name
,
String
the name of the shared configuration
configName
)

Returns a managed CircuitBreaker or creates a new one.

public CircuitBreaker

Returns:

The CircuitBreaker
circuitBreaker
(String
the name of the CircuitBreaker
name
,
String
the name of the shared configuration
configName
,
Map<String, String>
tags added to the CircuitBreaker
tags
)

Returns a managed CircuitBreaker or creates a new one.

public CircuitBreaker

Returns:

The CircuitBreaker
circuitBreaker
(String
the name of the CircuitBreaker
name
,
Supplier<CircuitBreakerConfig>
a supplier of a custom CircuitBreaker configuration
circuitBreakerConfigSupplier
)

Returns a managed CircuitBreaker or creates a new one with a custom CircuitBreaker configuration.

public CircuitBreaker

Returns:

The CircuitBreaker
circuitBreaker
(String
the name of the CircuitBreaker
name
,
Supplier<CircuitBreakerConfig>
a supplier of a custom CircuitBreaker configuration
circuitBreakerConfigSupplier
,
Map<String, String>
tags added to the CircuitBreaker
tags
)

Returns a managed CircuitBreaker or creates a new one with a custom CircuitBreaker configuration.

public static CircuitBreakerRegistry.Builder
custom()

Returns a builder to create a custom CircuitBreakerRegistry.

public Set<CircuitBreaker>

Returns:

all managed CircuitBreaker instances.
getAllCircuitBreakers
()

Returns all managed CircuitBreaker instances.

public static CircuitBreakerRegistry

Returns:

a CircuitBreakerRegistry with a custom CircuitBreaker configuration.
of
(CircuitBreakerConfig
a custom default CircuitBreaker configuration
circuitBreakerConfig
)

Creates a CircuitBreakerRegistry with a custom default CircuitBreaker configuration.

public static CircuitBreakerRegistry

Returns:

a CircuitBreakerRegistry with a custom CircuitBreaker configuration and a CircuitBreaker registry event consumer.
of
(CircuitBreakerConfig
a custom default CircuitBreaker configuration.
circuitBreakerConfig
,
RegistryEventConsumer<CircuitBreaker>
a CircuitBreaker registry event consumer.
registryEventConsumer
)

Creates a CircuitBreakerRegistry with a custom default CircuitBreaker configuration and a CircuitBreaker registry event consumer.

public static CircuitBreakerRegistry

Returns:

a CircuitBreakerRegistry with a custom CircuitBreaker configuration and list of CircuitBreaker registry event consumers.
of
(CircuitBreakerConfig
a custom default CircuitBreaker configuration.
circuitBreakerConfig
,
List<RegistryEventConsumer<CircuitBreaker>>
a list of CircuitBreaker registry event consumers.
registryEventConsumers
)

Creates a CircuitBreakerRegistry with a custom default CircuitBreaker configuration and a list of CircuitBreaker registry event consumers.

public static CircuitBreakerRegistry

Returns:

a CircuitBreakerRegistry with a Map of shared CircuitBreaker configurations.
of
(Map<String, CircuitBreakerConfig>
a Map of shared CircuitBreaker configurations
configs
)

Creates a CircuitBreakerRegistry with a Map of shared CircuitBreaker configurations.

public static CircuitBreakerRegistry

Returns:

a CircuitBreakerRegistry with a Map of shared CircuitBreaker configurations.
of
(Map<String, CircuitBreakerConfig>
a Map of shared CircuitBreaker configurations
configs
,
Map<String, String>
default tags to add to the registry
tags
)

Creates a CircuitBreakerRegistry with a Map of shared CircuitBreaker configurations.

public static CircuitBreakerRegistry

Returns:

a CircuitBreakerRegistry with a Map of shared CircuitBreaker configurations and a CircuitBreaker registry event consumer.
of
(Map<String, CircuitBreakerConfig>
a Map of shared CircuitBreaker configurations.
configs
,
RegistryEventConsumer<CircuitBreaker>
a CircuitBreaker registry event consumer.
registryEventConsumer
)

Creates a CircuitBreakerRegistry with a Map of shared CircuitBreaker configurations and a CircuitBreaker registry event consumer.

public static CircuitBreakerRegistry

Returns:

a CircuitBreakerRegistry with a Map of shared CircuitBreaker configurations and a CircuitBreaker registry event consumer.
of
(Map<String, CircuitBreakerConfig>
a Map of shared CircuitBreaker configurations.
configs
,
RegistryEventConsumer<CircuitBreaker>
a CircuitBreaker registry event consumer.
registryEventConsumer
,
Map<String, String>
default tags to add to the registry
tags
)

Creates a CircuitBreakerRegistry with a Map of shared CircuitBreaker configurations and a CircuitBreaker registry event consumer.

public static CircuitBreakerRegistry

Returns:

a CircuitBreakerRegistry with a Map of shared CircuitBreaker configurations and a list of CircuitBreaker registry event consumers.
of
(Map<String, CircuitBreakerConfig>
a Map of shared CircuitBreaker configurations.
configs
,
List<RegistryEventConsumer<CircuitBreaker>>
a list of CircuitBreaker registry event consumers.
registryEventConsumers
)

Creates a CircuitBreakerRegistry with a Map of shared CircuitBreaker configurations and a list of CircuitBreaker registry event consumers.

public static CircuitBreakerRegistry

Returns:

a CircuitBreakerRegistry with a default CircuitBreaker configuration.
ofDefaults
()

Creates a CircuitBreakerRegistry with a default CircuitBreaker configuration.

Inherited from io.github.resilience4j.core.Registry:
addConfigurationfindgetConfigurationgetDefaultConfiggetEventPublishergetTagsremoveremoveConfigurationreplace

Method Detail

circuitBreakerback to summary
public CircuitBreaker circuitBreaker(String name)

Returns a managed CircuitBreaker or creates a new one with the default CircuitBreaker configuration.

Parameters
name:String

the name of the CircuitBreaker

Returns:CircuitBreaker

The CircuitBreaker

circuitBreakerback to summary
public CircuitBreaker circuitBreaker(String name, Map<String, String> tags)

Returns a managed CircuitBreaker 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:String

the name of the CircuitBreaker

tags:Map<String, String>

tags added to the CircuitBreaker

Returns:CircuitBreaker

The CircuitBreaker

circuitBreakerback to summary
public CircuitBreaker circuitBreaker(String name, CircuitBreakerConfig config)

Returns a managed CircuitBreaker or creates a new one with a custom CircuitBreaker configuration.

Parameters
name:String

the name of the CircuitBreaker

config:CircuitBreakerConfig

a custom CircuitBreaker configuration

Returns:CircuitBreaker

The CircuitBreaker

circuitBreakerback to summary
public CircuitBreaker circuitBreaker(String name, CircuitBreakerConfig config, Map<String, String> tags)

Returns a managed CircuitBreaker 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:String

the name of the CircuitBreaker

config:CircuitBreakerConfig

a custom CircuitBreaker configuration

tags:Map<String, String>

tags added to the CircuitBreaker

Returns:CircuitBreaker

The CircuitBreaker

circuitBreakerback to summary
public CircuitBreaker circuitBreaker(String name, String configName)

Returns a managed CircuitBreaker or creates a new one. The configuration must have been added upfront via addConfiguration(String, Object).

Parameters
name:String

the name of the CircuitBreaker

configName:String

the name of the shared configuration

Returns:CircuitBreaker

The CircuitBreaker

circuitBreakerback to summary
public CircuitBreaker circuitBreaker(String name, String configName, Map<String, String> tags)

Returns a managed CircuitBreaker or creates a new one. The configuration must have been added upfront via 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:String

the name of the CircuitBreaker

configName:String

the name of the shared configuration

tags:Map<String, String>

tags added to the CircuitBreaker

Returns:CircuitBreaker

The CircuitBreaker

circuitBreakerback to summary
public CircuitBreaker circuitBreaker(String name, Supplier<CircuitBreakerConfig> circuitBreakerConfigSupplier)

Returns a managed CircuitBreaker or creates a new one with a custom CircuitBreaker configuration.

Parameters
name:String

the name of the CircuitBreaker

circuitBreakerConfigSupplier:Supplier<CircuitBreakerConfig>

a supplier of a custom CircuitBreaker configuration

Returns:CircuitBreaker

The CircuitBreaker

circuitBreakerback to summary
public CircuitBreaker circuitBreaker(String name, Supplier<CircuitBreakerConfig> circuitBreakerConfigSupplier, Map<String, String> tags)

Returns a managed CircuitBreaker 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:String

the name of the CircuitBreaker

circuitBreakerConfigSupplier:Supplier<CircuitBreakerConfig>

a supplier of a custom CircuitBreaker configuration

tags:Map<String, String>

tags added to the CircuitBreaker

Returns:CircuitBreaker

The CircuitBreaker

customback to summary
public static CircuitBreakerRegistry.Builder custom()

Returns a builder to create a custom CircuitBreakerRegistry.

Returns:CircuitBreakerRegistry.Builder

a CircuitBreakerRegistry.Builder

getAllCircuitBreakersback to summary
public Set<CircuitBreaker> getAllCircuitBreakers()

Returns all managed CircuitBreaker instances.

Returns:Set<CircuitBreaker>

all managed CircuitBreaker instances.

ofback to summary
public static CircuitBreakerRegistry of(CircuitBreakerConfig circuitBreakerConfig)

Creates a CircuitBreakerRegistry with a custom default CircuitBreaker configuration.

Parameters
circuitBreakerConfig:CircuitBreakerConfig

a custom default CircuitBreaker configuration

Returns:CircuitBreakerRegistry

a CircuitBreakerRegistry with a custom CircuitBreaker configuration.

ofback to summary
public static CircuitBreakerRegistry of(CircuitBreakerConfig circuitBreakerConfig, RegistryEventConsumer<CircuitBreaker> registryEventConsumer)

Creates a CircuitBreakerRegistry with a custom default CircuitBreaker configuration and a CircuitBreaker registry event consumer.

Parameters
circuitBreakerConfig:CircuitBreakerConfig

a custom default CircuitBreaker configuration.

registryEventConsumer:RegistryEventConsumer<CircuitBreaker>

a CircuitBreaker registry event consumer.

Returns:CircuitBreakerRegistry

a CircuitBreakerRegistry with a custom CircuitBreaker configuration and a CircuitBreaker registry event consumer.

ofback to summary
public static CircuitBreakerRegistry of(CircuitBreakerConfig circuitBreakerConfig, List<RegistryEventConsumer<CircuitBreaker>> registryEventConsumers)

Creates a CircuitBreakerRegistry with a custom default CircuitBreaker configuration and a list of CircuitBreaker registry event consumers.

Parameters
circuitBreakerConfig:CircuitBreakerConfig

a custom default CircuitBreaker configuration.

registryEventConsumers:List<RegistryEventConsumer<CircuitBreaker>>

a list of CircuitBreaker registry event consumers.

Returns:CircuitBreakerRegistry

a CircuitBreakerRegistry with a custom CircuitBreaker configuration and list of CircuitBreaker registry event consumers.

ofback to summary
public static CircuitBreakerRegistry of(Map<String, CircuitBreakerConfig> configs)

Creates a CircuitBreakerRegistry with a Map of shared CircuitBreaker configurations.

Parameters
configs:Map<String, CircuitBreakerConfig>

a Map of shared CircuitBreaker configurations

Returns:CircuitBreakerRegistry

a CircuitBreakerRegistry with a Map of shared CircuitBreaker configurations.

ofback to summary
public static CircuitBreakerRegistry of(Map<String, CircuitBreakerConfig> configs, Map<String, 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:Map<String, CircuitBreakerConfig>

a Map of shared CircuitBreaker configurations

tags:Map<String, String>

default tags to add to the registry

Returns:CircuitBreakerRegistry

a CircuitBreakerRegistry with a Map of shared CircuitBreaker configurations.

ofback to summary
public static CircuitBreakerRegistry of(Map<String, CircuitBreakerConfig> configs, RegistryEventConsumer<CircuitBreaker> registryEventConsumer)

Creates a CircuitBreakerRegistry with a Map of shared CircuitBreaker configurations and a CircuitBreaker registry event consumer.

Parameters
configs:Map<String, CircuitBreakerConfig>

a Map of shared CircuitBreaker configurations.

registryEventConsumer:RegistryEventConsumer<CircuitBreaker>

a CircuitBreaker registry event consumer.

Returns:CircuitBreakerRegistry

a CircuitBreakerRegistry with a Map of shared CircuitBreaker configurations and a CircuitBreaker registry event consumer.

ofback to summary
public static CircuitBreakerRegistry of(Map<String, CircuitBreakerConfig> configs, RegistryEventConsumer<CircuitBreaker> registryEventConsumer, Map<String, String> tags)

Creates a CircuitBreakerRegistry with a Map of shared CircuitBreaker configurations and a CircuitBreaker registry event consumer.

Parameters
configs:Map<String, CircuitBreakerConfig>

a Map of shared CircuitBreaker configurations.

registryEventConsumer:RegistryEventConsumer<CircuitBreaker>

a CircuitBreaker registry event consumer.

tags:Map<String, String>

default tags to add to the registry

Returns:CircuitBreakerRegistry

a CircuitBreakerRegistry with a Map of shared CircuitBreaker configurations and a CircuitBreaker registry event consumer.

ofback to summary
public static CircuitBreakerRegistry of(Map<String, CircuitBreakerConfig> configs, List<RegistryEventConsumer<CircuitBreaker>> registryEventConsumers)

Creates a CircuitBreakerRegistry with a Map of shared CircuitBreaker configurations and a list of CircuitBreaker registry event consumers.

Parameters
configs:Map<String, CircuitBreakerConfig>

a Map of shared CircuitBreaker configurations.

registryEventConsumers:List<RegistryEventConsumer<CircuitBreaker>>

a list of CircuitBreaker registry event consumers.

Returns:CircuitBreakerRegistry

a CircuitBreakerRegistry with a Map of shared CircuitBreaker configurations and a list of CircuitBreaker registry event consumers.

ofDefaultsback to summary
public static CircuitBreakerRegistry ofDefaults()

Creates a CircuitBreakerRegistry with a default CircuitBreaker configuration.

Returns:CircuitBreakerRegistry

a CircuitBreakerRegistry with a default CircuitBreaker configuration.

io.github.resilience4j.circuitbreaker back to summary

public Class CircuitBreakerRegistry.Builder

extends Object
Class Inheritance
  • java.lang.Object
  • io.github.resilience4j.circuitbreaker.CircuitBreakerRegistry.Builder

Field Summary

Modifier and TypeField and Description
private Map<String, CircuitBreakerConfig>
private static final String
private List<RegistryEventConsumer<CircuitBreaker>>
private RegistryStore<CircuitBreaker>
private Map<String, String>

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public CircuitBreakerRegistry.Builder
addCircuitBreakerConfig(String
configName for a custom shared CircuitBreaker configuration
configName
,
CircuitBreakerConfig
a custom shared CircuitBreaker configuration
configuration
)

Configures a CircuitBreakerRegistry with a custom CircuitBreaker configuration.

public CircuitBreakerRegistry.Builder
addRegistryEventConsumer(RegistryEventConsumer<CircuitBreaker>
a CircuitBreaker registry event consumer.
registryEventConsumer
)

Configures a CircuitBreakerRegistry with a CircuitBreaker registry event consumer.

public CircuitBreakerRegistry

Returns:

the CircuitBreakerRegistry
build
()

Builds a CircuitBreakerRegistry

public CircuitBreakerRegistry.Builder
withCircuitBreakerConfig(CircuitBreakerConfig
a custom default CircuitBreaker configuration
circuitBreakerConfig
)

Configures a CircuitBreakerRegistry with a custom default CircuitBreaker configuration.

public CircuitBreakerRegistry.Builder
public CircuitBreakerRegistry.Builder
withTags(Map<String, String>
default tags to add to the registry.
tags
)

Configures a CircuitBreakerRegistry with Tags.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

circuitBreakerConfigsMapback to summary
private Map<String, CircuitBreakerConfig> circuitBreakerConfigsMap
DEFAULT_CONFIGback to summary
private static final String DEFAULT_CONFIG
registryEventConsumersback to summary
private List<RegistryEventConsumer<CircuitBreaker>> registryEventConsumers
registryStoreback to summary
private RegistryStore<CircuitBreaker> registryStore
tagsback to summary
private Map<String, String> tags

Constructor Detail

Builderback to summary
public Builder()

Method Detail

addCircuitBreakerConfigback to summary
public CircuitBreakerRegistry.Builder addCircuitBreakerConfig(String configName, CircuitBreakerConfig configuration)

Configures a CircuitBreakerRegistry with a custom CircuitBreaker configuration.

Parameters
configName:String

configName for a custom shared CircuitBreaker configuration

configuration:CircuitBreakerConfig

a custom shared CircuitBreaker configuration

Returns:CircuitBreakerRegistry.Builder

a CircuitBreakerRegistry.Builder

Exceptions
IllegalArgumentException:
if configName.equals("default")
addRegistryEventConsumerback to summary
public CircuitBreakerRegistry.Builder addRegistryEventConsumer(RegistryEventConsumer<CircuitBreaker> registryEventConsumer)

Configures a CircuitBreakerRegistry with a CircuitBreaker registry event consumer.

Parameters
registryEventConsumer:RegistryEventConsumer<CircuitBreaker>

a CircuitBreaker registry event consumer.

Returns:CircuitBreakerRegistry.Builder

a CircuitBreakerRegistry.Builder

buildback to summary
public CircuitBreakerRegistry build()

Builds a CircuitBreakerRegistry

Returns:CircuitBreakerRegistry

the CircuitBreakerRegistry

withCircuitBreakerConfigback to summary
public CircuitBreakerRegistry.Builder withCircuitBreakerConfig(CircuitBreakerConfig circuitBreakerConfig)

Configures a CircuitBreakerRegistry with a custom default CircuitBreaker configuration.

Parameters
circuitBreakerConfig:CircuitBreakerConfig

a custom default CircuitBreaker configuration

Returns:CircuitBreakerRegistry.Builder

a CircuitBreakerRegistry.Builder

withRegistryStoreback to summary
public CircuitBreakerRegistry.Builder withRegistryStore(RegistryStore<CircuitBreaker> registryStore)
withTagsback to summary
public CircuitBreakerRegistry.Builder withTags(Map<String, String> tags)

Configures a CircuitBreakerRegistry with Tags.

Tags added to the registry will be added to every instance created by this registry.

Parameters
tags:Map<String, String>

default tags to add to the registry.

Returns:CircuitBreakerRegistry.Builder

a CircuitBreakerRegistry.Builder