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.
  • Nested Class Summary

    Nested Classes 
    Modifier and Type Interface Description
    static class  CircuitBreakerRegistry.Builder  

    Nested classes/interfaces inherited from interface io.github.resilience4j.core.Registry

    io.github.resilience4j.core.Registry.EventPublisher<E extends java.lang.Object>
  • Method Summary

    Modifier and Type Method Description
    CircuitBreaker circuitBreaker​(java.lang.String name)
    Returns a managed CircuitBreaker or creates a new one with the default CircuitBreaker configuration.
    CircuitBreaker circuitBreaker​(java.lang.String name, CircuitBreakerConfig config)
    Returns a managed CircuitBreaker 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 managed CircuitBreaker 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 managed CircuitBreaker or creates a new one with the default CircuitBreaker configuration.
    CircuitBreaker circuitBreaker​(java.lang.String name, java.lang.String configName)
    Returns a managed CircuitBreaker 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 managed CircuitBreaker or creates a new one.
    CircuitBreaker circuitBreaker​(java.lang.String name, java.util.function.Supplier<CircuitBreakerConfig> circuitBreakerConfigSupplier)
    Returns a managed CircuitBreaker 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 managed CircuitBreaker 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 managed CircuitBreaker 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.

    Methods inherited from interface io.github.resilience4j.core.Registry

    addConfiguration, find, getConfiguration, getDefaultConfig, getEventPublisher, getTags, remove, replace
  • 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, 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 configurations
      tags - 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 managed CircuitBreaker instances.
      Returns:
      all managed CircuitBreaker instances.
    • circuitBreaker

      CircuitBreaker circuitBreaker​(java.lang.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​(java.lang.String name, io.vavr.collection.Map<java.lang.String,​java.lang.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​(java.lang.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​(java.lang.String name, CircuitBreakerConfig config, io.vavr.collection.Map<java.lang.String,​java.lang.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​(java.lang.String name, java.lang.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​(java.lang.String name, java.lang.String configName, io.vavr.collection.Map<java.lang.String,​java.lang.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​(java.lang.String name, java.util.function.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​(java.lang.String name, java.util.function.Supplier<CircuitBreakerConfig> circuitBreakerConfigSupplier, io.vavr.collection.Map<java.lang.String,​java.lang.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