Interface TimeLimiterRegistry

All Superinterfaces:
io.github.resilience4j.core.Registry<TimeLimiter,TimeLimiterConfig>
All Known Implementing Classes:
InMemoryTimeLimiterRegistry

public interface TimeLimiterRegistry extends io.github.resilience4j.core.Registry<TimeLimiter,TimeLimiterConfig>
Manages all TimeLimiter instances.
  • Method Details

    • of

      static TimeLimiterRegistry of(TimeLimiterConfig defaultTimeLimiterConfig)
      Creates a TimeLimiterRegistry with a custom default TimeLimiter configuration.
      Parameters:
      defaultTimeLimiterConfig - a custom default TimeLimiter configuration
      Returns:
      a TimeLimiterRegistry instance backed by a custom TimeLimiter configuration
    • of

      static TimeLimiterRegistry of(TimeLimiterConfig defaultTimeLimiterConfig, io.github.resilience4j.core.registry.RegistryEventConsumer<TimeLimiter> registryEventConsumer)
      Creates a TimeLimiterRegistry with a custom default TimeLimiter configuration and a TimeLimiter registry event consumer.
      Parameters:
      defaultTimeLimiterConfig - a custom default TimeLimiter configuration.
      registryEventConsumer - a TimeLimiter registry event consumer.
      Returns:
      a TimeLimiterRegistry with a custom TimeLimiter configuration and a TimeLimiter registry event consumer.
    • of

      static TimeLimiterRegistry of(TimeLimiterConfig defaultTimeLimiterConfig, List<io.github.resilience4j.core.registry.RegistryEventConsumer<TimeLimiter>> registryEventConsumers)
      Creates a TimeLimiterRegistry with a custom default TimeLimiter configuration and a list of TimeLimiter registry event consumers.
      Parameters:
      defaultTimeLimiterConfig - a custom default TimeLimiter configuration.
      registryEventConsumers - a list of TimeLimiter registry event consumers.
      Returns:
      a TimeLimiterRegistry with a custom TimeLimiter configuration and list of TimeLimiter registry event consumers.
    • ofDefaults

      static TimeLimiterRegistry ofDefaults()
      Returns a managed TimeLimiterConfig or creates a new one with a default TimeLimiter configuration.
      Returns:
      The TimeLimiterConfig
    • of

      Creates a TimeLimiterRegistry with a Map of shared TimeLimiter configurations.
      Parameters:
      configs - a Map of shared TimeLimiter configurations
      Returns:
      a TimeLimiterRegistry with a Map of shared TimeLimiter configurations.
    • of

      Creates a TimeLimiterRegistry with a Map of shared TimeLimiter configurations.

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

      Parameters:
      configs - a Map of shared TimeLimiter configurations
      tags - default tags to add to the registry
      Returns:
      a TimeLimiterRegistry with a Map of shared TimeLimiter configurations.
    • of

      static TimeLimiterRegistry of(Map<String,TimeLimiterConfig> configs, io.github.resilience4j.core.registry.RegistryEventConsumer<TimeLimiter> registryEventConsumer)
      Creates a TimeLimiterRegistry with a Map of shared TimeLimiter configurations and a TimeLimiter registry event consumer.
      Parameters:
      configs - a Map of shared TimeLimiter configurations.
      registryEventConsumer - a TimeLimiter registry event consumer.
      Returns:
      a TimeLimiterRegistry with a Map of shared TimeLimiter configurations and a TimeLimiter registry event consumer.
    • of

      static TimeLimiterRegistry of(Map<String,TimeLimiterConfig> configs, io.github.resilience4j.core.registry.RegistryEventConsumer<TimeLimiter> registryEventConsumer, Map<String,String> tags)
      Creates a TimeLimiterRegistry with a Map of shared TimeLimiter configurations and a TimeLimiter registry event consumer.
      Parameters:
      configs - a Map of shared TimeLimiter configurations.
      registryEventConsumer - a TimeLimiter registry event consumer.
      tags - default tags to add to the registry
      Returns:
      a TimeLimiterRegistry with a Map of shared TimeLimiter configurations and a TimeLimiter registry event consumer.
    • of

      static TimeLimiterRegistry of(Map<String,TimeLimiterConfig> configs, List<io.github.resilience4j.core.registry.RegistryEventConsumer<TimeLimiter>> registryEventConsumers)
      Creates a TimeLimiterRegistry with a Map of shared TimeLimiter configurations and a list of TimeLimiter registry event consumers.
      Parameters:
      configs - a Map of shared TimeLimiter configurations.
      registryEventConsumers - a list of TimeLimiter registry event consumers.
      Returns:
      a TimeLimiterRegistry with a Map of shared TimeLimiter configurations and a list of TimeLimiter registry event consumers.
    • getAllTimeLimiters

      Set<TimeLimiter> getAllTimeLimiters()
      Returns all managed TimeLimiter instances.
      Returns:
      all managed TimeLimiter instances.
    • timeLimiter

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

      TimeLimiter timeLimiter(String name, Map<String,String> tags)
      Returns a managed TimeLimiter or creates a new one with the default TimeLimiter 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 TimeLimiter
      tags - tags added to the TimeLimiter
      Returns:
      The TimeLimiter
    • timeLimiter

      TimeLimiter timeLimiter(String name, TimeLimiterConfig timeLimiterConfig)
      Returns a managed TimeLimiter or creates a new one with a custom TimeLimiter configuration.
      Parameters:
      name - the name of the TimeLimiter
      timeLimiterConfig - a custom TimeLimiter configuration
      Returns:
      The TimeLimiter
    • timeLimiter

      TimeLimiter timeLimiter(String name, TimeLimiterConfig timeLimiterConfig, Map<String,String> tags)
      Returns a managed TimeLimiter or creates a new one with a custom TimeLimiter 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 TimeLimiter
      timeLimiterConfig - a custom TimeLimiter configuration
      tags - tags added to the TimeLimiter
      Returns:
      The TimeLimiter
    • timeLimiter

      TimeLimiter timeLimiter(String name, Supplier<TimeLimiterConfig> timeLimiterConfigSupplier)
      Returns a managed TimeLimiterConfig or creates a new one with a custom TimeLimiterConfig configuration.
      Parameters:
      name - the name of the TimeLimiterConfig
      timeLimiterConfigSupplier - a supplier of a custom TimeLimiterConfig configuration
      Returns:
      The TimeLimiterConfig
    • timeLimiter

      TimeLimiter timeLimiter(String name, Supplier<TimeLimiterConfig> timeLimiterConfigSupplier, Map<String,String> tags)
      Returns a managed TimeLimiter or creates a new one with a custom TimeLimiter 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 TimeLimiter
      timeLimiterConfigSupplier - a supplier of a custom TimeLimiter configuration
      tags - tags added to the TimeLimiter
      Returns:
      The TimeLimiter
    • timeLimiter

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

      TimeLimiter timeLimiter(String name, String configName, Map<String,String> tags)
      Returns a managed TimeLimiter 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 TimeLimiter
      configName - the name of the shared configuration
      tags - tags added to the TimeLimiter
      Returns:
      The TimeLimiter