Class InMemoryTimeLimiterRegistry

java.lang.Object
io.github.resilience4j.core.registry.AbstractRegistry<TimeLimiter,TimeLimiterConfig>
io.github.resilience4j.timelimiter.internal.InMemoryTimeLimiterRegistry
All Implemented Interfaces:
io.github.resilience4j.core.Registry<TimeLimiter,TimeLimiterConfig>, TimeLimiterRegistry

public class InMemoryTimeLimiterRegistry extends io.github.resilience4j.core.registry.AbstractRegistry<TimeLimiter,TimeLimiterConfig> implements TimeLimiterRegistry
Backend TimeLimiter manager. Constructs backend TimeLimiters according to configuration values.
  • Constructor Details

    • InMemoryTimeLimiterRegistry

      public InMemoryTimeLimiterRegistry()
      The constructor with default default.
    • InMemoryTimeLimiterRegistry

      public InMemoryTimeLimiterRegistry(Map<String,TimeLimiterConfig> configs)
    • InMemoryTimeLimiterRegistry

      public InMemoryTimeLimiterRegistry(Map<String,TimeLimiterConfig> configs, Map<String,String> tags)
    • InMemoryTimeLimiterRegistry

      public InMemoryTimeLimiterRegistry(Map<String,TimeLimiterConfig> configs, io.github.resilience4j.core.registry.RegistryEventConsumer<TimeLimiter> registryEventConsumer)
    • InMemoryTimeLimiterRegistry

      public InMemoryTimeLimiterRegistry(Map<String,TimeLimiterConfig> configs, io.github.resilience4j.core.registry.RegistryEventConsumer<TimeLimiter> registryEventConsumer, Map<String,String> tags)
    • InMemoryTimeLimiterRegistry

      public InMemoryTimeLimiterRegistry(Map<String,TimeLimiterConfig> configs, List<io.github.resilience4j.core.registry.RegistryEventConsumer<TimeLimiter>> registryEventConsumers)
    • InMemoryTimeLimiterRegistry

      public InMemoryTimeLimiterRegistry(Map<String,TimeLimiterConfig> configs, List<io.github.resilience4j.core.registry.RegistryEventConsumer<TimeLimiter>> registryEventConsumers, Map<String,String> tags)
    • InMemoryTimeLimiterRegistry

      public InMemoryTimeLimiterRegistry(TimeLimiterConfig defaultConfig)
      The constructor with custom default config.
      Parameters:
      defaultConfig - The default config.
    • InMemoryTimeLimiterRegistry

      public InMemoryTimeLimiterRegistry(TimeLimiterConfig defaultConfig, Map<String,String> tags)
    • InMemoryTimeLimiterRegistry

      public InMemoryTimeLimiterRegistry(TimeLimiterConfig defaultConfig, io.github.resilience4j.core.registry.RegistryEventConsumer<TimeLimiter> registryEventConsumer)
    • InMemoryTimeLimiterRegistry

      public InMemoryTimeLimiterRegistry(TimeLimiterConfig defaultConfig, io.github.resilience4j.core.registry.RegistryEventConsumer<TimeLimiter> registryEventConsumer, Map<String,String> tags)
    • InMemoryTimeLimiterRegistry

      public InMemoryTimeLimiterRegistry(TimeLimiterConfig defaultConfig, List<io.github.resilience4j.core.registry.RegistryEventConsumer<TimeLimiter>> registryEventConsumers)
    • InMemoryTimeLimiterRegistry

      public InMemoryTimeLimiterRegistry(TimeLimiterConfig defaultConfig, List<io.github.resilience4j.core.registry.RegistryEventConsumer<TimeLimiter>> registryEventConsumers, Map<String,String> tags)
  • Method Details

    • getAllTimeLimiters

      public Set<TimeLimiter> getAllTimeLimiters()
      Returns all managed TimeLimiter instances.
      Specified by:
      getAllTimeLimiters in interface TimeLimiterRegistry
      Returns:
      all managed TimeLimiter instances.
    • timeLimiter

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

      public TimeLimiter timeLimiter(String name, Map<String,String> tags)
      Description copied from interface: TimeLimiterRegistry
      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.

      Specified by:
      timeLimiter in interface TimeLimiterRegistry
      Parameters:
      name - the name of the TimeLimiter
      tags - tags added to the TimeLimiter
      Returns:
      The TimeLimiter
    • timeLimiter

      public TimeLimiter timeLimiter(String name, TimeLimiterConfig config)
      Returns a managed TimeLimiter or creates a new one with a custom TimeLimiter configuration.
      Specified by:
      timeLimiter in interface TimeLimiterRegistry
      Parameters:
      name - the name of the TimeLimiter
      config - a custom TimeLimiter configuration
      Returns:
      The TimeLimiter
    • timeLimiter

      public TimeLimiter timeLimiter(String name, TimeLimiterConfig timeLimiterConfig, Map<String,String> tags)
      Description copied from interface: TimeLimiterRegistry
      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.

      Specified by:
      timeLimiter in interface TimeLimiterRegistry
      Parameters:
      name - the name of the TimeLimiter
      timeLimiterConfig - a custom TimeLimiter configuration
      tags - tags added to the TimeLimiter
      Returns:
      The TimeLimiter
    • timeLimiter

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

      public TimeLimiter timeLimiter(String name, Supplier<TimeLimiterConfig> timeLimiterConfigSupplier, Map<String,String> tags)
      Description copied from interface: TimeLimiterRegistry
      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.

      Specified by:
      timeLimiter in interface TimeLimiterRegistry
      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

      public 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).
      Specified by:
      timeLimiter in interface TimeLimiterRegistry
      Parameters:
      name - the name of the TimeLimiter
      configName - the name of the shared configuration
      Returns:
      The TimeLimiter
    • timeLimiter

      public TimeLimiter timeLimiter(String name, String configName, Map<String,String> tags)
      Description copied from interface: TimeLimiterRegistry
      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.

      Specified by:
      timeLimiter in interface TimeLimiterRegistry
      Parameters:
      name - the name of the TimeLimiter
      configName - the name of the shared configuration
      tags - tags added to the TimeLimiter
      Returns:
      The TimeLimiter