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>
The CircuitBreakerRegistry is a factory to create CircuitBreaker instances which stores all CircuitBreaker instances in a registry.
  • Method Details

    • 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, 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

      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

      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 configurations
      tags - default tags to add to the registry
      Returns:
      a CircuitBreakerRegistry with a Map of shared CircuitBreaker configurations.
    • of

      static CircuitBreakerRegistry of(Map<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(Map<String,CircuitBreakerConfig> configs, io.github.resilience4j.core.registry.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 - 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(Map<String,CircuitBreakerConfig> configs, 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

      Set<CircuitBreaker> getAllCircuitBreakers()
      Returns all managed CircuitBreaker instances.
      Returns:
      all managed CircuitBreaker instances.
    • circuitBreaker

      CircuitBreaker circuitBreaker(String name)
      Returns a managed CircuitBreaker or creates a new one with the default CircuitBreaker configuration.
      Parameters:
      name - the name of the CircuitBreaker
      Returns:
      The CircuitBreaker
    • circuitBreaker

      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 - the name of the CircuitBreaker
      tags - tags added to the CircuitBreaker
      Returns:
      The CircuitBreaker
    • circuitBreaker

      CircuitBreaker circuitBreaker(String name, CircuitBreakerConfig config)
      Returns a managed CircuitBreaker or creates a new one with a custom CircuitBreaker configuration.
      Parameters:
      name - the name of the CircuitBreaker
      config - a custom CircuitBreaker configuration
      Returns:
      The CircuitBreaker
    • circuitBreaker

      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 - the name of the CircuitBreaker
      config - a custom CircuitBreaker configuration
      tags - tags added to the CircuitBreaker
      Returns:
      The CircuitBreaker
    • circuitBreaker

      CircuitBreaker circuitBreaker(String name, String configName)
      Returns a managed CircuitBreaker or creates a new one. The configuration must have been added upfront via Registry.addConfiguration(String, Object).
      Parameters:
      name - the name of the CircuitBreaker
      configName - the name of the shared configuration
      Returns:
      The CircuitBreaker
    • circuitBreaker

      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 Registry.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 CircuitBreaker
      configName - the name of the shared configuration
      tags - tags added to the CircuitBreaker
      Returns:
      The CircuitBreaker
    • circuitBreaker

      CircuitBreaker circuitBreaker(String name, Supplier<CircuitBreakerConfig> circuitBreakerConfigSupplier)
      Returns a managed CircuitBreaker or creates a new one with a custom CircuitBreaker configuration.
      Parameters:
      name - the name of the CircuitBreaker
      circuitBreakerConfigSupplier - a supplier of a custom CircuitBreaker configuration
      Returns:
      The CircuitBreaker
    • circuitBreaker

      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 - the name of the CircuitBreaker
      circuitBreakerConfigSupplier - a supplier of a custom CircuitBreaker configuration
      tags - tags added to the CircuitBreaker
      Returns:
      The CircuitBreaker
    • custom

      Returns a builder to create a custom CircuitBreakerRegistry.
      Returns:
      a CircuitBreakerRegistry.Builder