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 Summary
Constructors Constructor Description InMemoryTimeLimiterRegistry()The constructor with default default.InMemoryTimeLimiterRegistry(TimeLimiterConfig defaultConfig)The constructor with custom default config.InMemoryTimeLimiterRegistry(TimeLimiterConfig defaultConfig, io.github.resilience4j.core.registry.RegistryEventConsumer<TimeLimiter> registryEventConsumer)InMemoryTimeLimiterRegistry(TimeLimiterConfig defaultConfig, io.github.resilience4j.core.registry.RegistryEventConsumer<TimeLimiter> registryEventConsumer, io.vavr.collection.Map<java.lang.String,java.lang.String> tags)InMemoryTimeLimiterRegistry(TimeLimiterConfig defaultConfig, io.vavr.collection.Map<java.lang.String,java.lang.String> tags)InMemoryTimeLimiterRegistry(TimeLimiterConfig defaultConfig, java.util.List<io.github.resilience4j.core.registry.RegistryEventConsumer<TimeLimiter>> registryEventConsumers)InMemoryTimeLimiterRegistry(TimeLimiterConfig defaultConfig, java.util.List<io.github.resilience4j.core.registry.RegistryEventConsumer<TimeLimiter>> registryEventConsumers, io.vavr.collection.Map<java.lang.String,java.lang.String> tags)InMemoryTimeLimiterRegistry(io.vavr.collection.Map<java.lang.String,java.lang.String> tags)InMemoryTimeLimiterRegistry(java.util.Map<java.lang.String,TimeLimiterConfig> configs)InMemoryTimeLimiterRegistry(java.util.Map<java.lang.String,TimeLimiterConfig> configs, io.github.resilience4j.core.registry.RegistryEventConsumer<TimeLimiter> registryEventConsumer)InMemoryTimeLimiterRegistry(java.util.Map<java.lang.String,TimeLimiterConfig> configs, io.github.resilience4j.core.registry.RegistryEventConsumer<TimeLimiter> registryEventConsumer, io.vavr.collection.Map<java.lang.String,java.lang.String> tags)InMemoryTimeLimiterRegistry(java.util.Map<java.lang.String,TimeLimiterConfig> configs, io.vavr.collection.Map<java.lang.String,java.lang.String> tags)InMemoryTimeLimiterRegistry(java.util.Map<java.lang.String,TimeLimiterConfig> configs, java.util.List<io.github.resilience4j.core.registry.RegistryEventConsumer<TimeLimiter>> registryEventConsumers)InMemoryTimeLimiterRegistry(java.util.Map<java.lang.String,TimeLimiterConfig> configs, java.util.List<io.github.resilience4j.core.registry.RegistryEventConsumer<TimeLimiter>> registryEventConsumers, io.vavr.collection.Map<java.lang.String,java.lang.String> tags)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description io.vavr.collection.Seq<TimeLimiter>getAllTimeLimiters()Returns all managedTimeLimiterinstances.TimeLimitertimeLimiter(java.lang.String name)Returns a managedTimeLimiteror creates a new one with the default TimeLimiter configuration.TimeLimitertimeLimiter(java.lang.String name, TimeLimiterConfig config)Returns a managedTimeLimiteror creates a new one with a custom TimeLimiter configuration.TimeLimitertimeLimiter(java.lang.String name, TimeLimiterConfig timeLimiterConfig, io.vavr.collection.Map<java.lang.String,java.lang.String> tags)Returns a managedTimeLimiteror creates a new one with a custom TimeLimiter configuration.TimeLimitertimeLimiter(java.lang.String name, io.vavr.collection.Map<java.lang.String,java.lang.String> tags)Returns a managedTimeLimiteror creates a new one with the default TimeLimiter configuration.TimeLimitertimeLimiter(java.lang.String name, java.lang.String configName)Returns a managedTimeLimiteror creates a new one.TimeLimitertimeLimiter(java.lang.String name, java.lang.String configName, io.vavr.collection.Map<java.lang.String,java.lang.String> tags)Returns a managedTimeLimiteror creates a new one.TimeLimitertimeLimiter(java.lang.String name, java.util.function.Supplier<TimeLimiterConfig> timeLimiterConfigSupplier)Returns a managedTimeLimiterConfigor creates a new one with a custom TimeLimiterConfig configuration.TimeLimitertimeLimiter(java.lang.String name, java.util.function.Supplier<TimeLimiterConfig> timeLimiterConfigSupplier, io.vavr.collection.Map<java.lang.String,java.lang.String> tags)Returns a managedTimeLimiteror creates a new one with a custom TimeLimiter configuration.-
Methods inherited from class io.github.resilience4j.core.registry.AbstractRegistry
addConfiguration, computeIfAbsent, find, getAllTags, getConfiguration, getDefaultConfig, getEventPublisher, getTags, remove, replace
-
-
-
-
Constructor Detail
-
InMemoryTimeLimiterRegistry
public InMemoryTimeLimiterRegistry()
The constructor with default default.
-
InMemoryTimeLimiterRegistry
public InMemoryTimeLimiterRegistry(io.vavr.collection.Map<java.lang.String,java.lang.String> tags)
-
InMemoryTimeLimiterRegistry
public InMemoryTimeLimiterRegistry(java.util.Map<java.lang.String,TimeLimiterConfig> configs)
-
InMemoryTimeLimiterRegistry
public InMemoryTimeLimiterRegistry(java.util.Map<java.lang.String,TimeLimiterConfig> configs, io.vavr.collection.Map<java.lang.String,java.lang.String> tags)
-
InMemoryTimeLimiterRegistry
public InMemoryTimeLimiterRegistry(java.util.Map<java.lang.String,TimeLimiterConfig> configs, io.github.resilience4j.core.registry.RegistryEventConsumer<TimeLimiter> registryEventConsumer)
-
InMemoryTimeLimiterRegistry
public InMemoryTimeLimiterRegistry(java.util.Map<java.lang.String,TimeLimiterConfig> configs, io.github.resilience4j.core.registry.RegistryEventConsumer<TimeLimiter> registryEventConsumer, io.vavr.collection.Map<java.lang.String,java.lang.String> tags)
-
InMemoryTimeLimiterRegistry
public InMemoryTimeLimiterRegistry(java.util.Map<java.lang.String,TimeLimiterConfig> configs, java.util.List<io.github.resilience4j.core.registry.RegistryEventConsumer<TimeLimiter>> registryEventConsumers)
-
InMemoryTimeLimiterRegistry
public InMemoryTimeLimiterRegistry(java.util.Map<java.lang.String,TimeLimiterConfig> configs, java.util.List<io.github.resilience4j.core.registry.RegistryEventConsumer<TimeLimiter>> registryEventConsumers, io.vavr.collection.Map<java.lang.String,java.lang.String> tags)
-
InMemoryTimeLimiterRegistry
public InMemoryTimeLimiterRegistry(TimeLimiterConfig defaultConfig)
The constructor with custom default config.- Parameters:
defaultConfig- The default config.
-
InMemoryTimeLimiterRegistry
public InMemoryTimeLimiterRegistry(TimeLimiterConfig defaultConfig, io.vavr.collection.Map<java.lang.String,java.lang.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, io.vavr.collection.Map<java.lang.String,java.lang.String> tags)
-
InMemoryTimeLimiterRegistry
public InMemoryTimeLimiterRegistry(TimeLimiterConfig defaultConfig, java.util.List<io.github.resilience4j.core.registry.RegistryEventConsumer<TimeLimiter>> registryEventConsumers)
-
InMemoryTimeLimiterRegistry
public InMemoryTimeLimiterRegistry(TimeLimiterConfig defaultConfig, java.util.List<io.github.resilience4j.core.registry.RegistryEventConsumer<TimeLimiter>> registryEventConsumers, io.vavr.collection.Map<java.lang.String,java.lang.String> tags)
-
-
Method Detail
-
getAllTimeLimiters
public io.vavr.collection.Seq<TimeLimiter> getAllTimeLimiters()
Returns all managedTimeLimiterinstances.- Specified by:
getAllTimeLimitersin interfaceTimeLimiterRegistry- Returns:
- all managed
TimeLimiterinstances.
-
timeLimiter
public TimeLimiter timeLimiter(java.lang.String name)
Returns a managedTimeLimiteror creates a new one with the default TimeLimiter configuration.- Specified by:
timeLimiterin interfaceTimeLimiterRegistry- Parameters:
name- the name of the TimeLimiter- Returns:
- The
TimeLimiter
-
timeLimiter
public TimeLimiter timeLimiter(java.lang.String name, io.vavr.collection.Map<java.lang.String,java.lang.String> tags)
Description copied from interface:TimeLimiterRegistryReturns a managedTimeLimiteror creates a new one with the default TimeLimiter configuration.The
tagspassed 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:
timeLimiterin interfaceTimeLimiterRegistry- Parameters:
name- the name of the TimeLimitertags- tags added to the TimeLimiter- Returns:
- The
TimeLimiter
-
timeLimiter
public TimeLimiter timeLimiter(java.lang.String name, TimeLimiterConfig config)
Returns a managedTimeLimiteror creates a new one with a custom TimeLimiter configuration.- Specified by:
timeLimiterin interfaceTimeLimiterRegistry- Parameters:
name- the name of the TimeLimiterconfig- a custom TimeLimiter configuration- Returns:
- The
TimeLimiter
-
timeLimiter
public TimeLimiter timeLimiter(java.lang.String name, TimeLimiterConfig timeLimiterConfig, io.vavr.collection.Map<java.lang.String,java.lang.String> tags)
Description copied from interface:TimeLimiterRegistryReturns a managedTimeLimiteror creates a new one with a custom TimeLimiter configuration.The
tagspassed 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:
timeLimiterin interfaceTimeLimiterRegistry- Parameters:
name- the name of the TimeLimitertimeLimiterConfig- a custom TimeLimiter configurationtags- tags added to the TimeLimiter- Returns:
- The
TimeLimiter
-
timeLimiter
public TimeLimiter timeLimiter(java.lang.String name, java.util.function.Supplier<TimeLimiterConfig> timeLimiterConfigSupplier)
Returns a managedTimeLimiterConfigor creates a new one with a custom TimeLimiterConfig configuration.- Specified by:
timeLimiterin interfaceTimeLimiterRegistry- Parameters:
name- the name of the TimeLimiterConfigtimeLimiterConfigSupplier- a supplier of a custom TimeLimiterConfig configuration- Returns:
- The
TimeLimiterConfig
-
timeLimiter
public TimeLimiter timeLimiter(java.lang.String name, java.util.function.Supplier<TimeLimiterConfig> timeLimiterConfigSupplier, io.vavr.collection.Map<java.lang.String,java.lang.String> tags)
Description copied from interface:TimeLimiterRegistryReturns a managedTimeLimiteror creates a new one with a custom TimeLimiter configuration.The
tagspassed 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:
timeLimiterin interfaceTimeLimiterRegistry- Parameters:
name- the name of the TimeLimitertimeLimiterConfigSupplier- a supplier of a custom TimeLimiter configurationtags- tags added to the TimeLimiter- Returns:
- The
TimeLimiter
-
timeLimiter
public TimeLimiter timeLimiter(java.lang.String name, java.lang.String configName)
Returns a managedTimeLimiteror creates a new one. The configuration must have been added upfront viaRegistry.addConfiguration(String, Object).- Specified by:
timeLimiterin interfaceTimeLimiterRegistry- Parameters:
name- the name of the TimeLimiterconfigName- the name of the shared configuration- Returns:
- The
TimeLimiter
-
timeLimiter
public TimeLimiter timeLimiter(java.lang.String name, java.lang.String configName, io.vavr.collection.Map<java.lang.String,java.lang.String> tags)
Description copied from interface:TimeLimiterRegistryReturns a managedTimeLimiteror creates a new one. The configuration must have been added upfront viaRegistry.addConfiguration(String, Object).The
tagspassed 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:
timeLimiterin interfaceTimeLimiterRegistry- Parameters:
name- the name of the TimeLimiterconfigName- the name of the shared configurationtags- tags added to the TimeLimiter- Returns:
- The
TimeLimiter
-
-