Class InMemoryRateLimiterRegistry
java.lang.Object
io.github.resilience4j.core.registry.AbstractRegistry<RateLimiter,RateLimiterConfig>
io.github.resilience4j.ratelimiter.internal.InMemoryRateLimiterRegistry
- All Implemented Interfaces:
io.github.resilience4j.core.Registry<RateLimiter,RateLimiterConfig>,RateLimiterRegistry
public class InMemoryRateLimiterRegistry extends io.github.resilience4j.core.registry.AbstractRegistry<RateLimiter,RateLimiterConfig> implements RateLimiterRegistry
Backend RateLimiter manager. Constructs backend RateLimiters according to configuration values.
-
Nested Class Summary
Nested classes/interfaces inherited from interface io.github.resilience4j.ratelimiter.RateLimiterRegistry
RateLimiterRegistry.Builder -
Field Summary
-
Constructor Summary
Constructors Constructor Description InMemoryRateLimiterRegistry()The constructor with default default.InMemoryRateLimiterRegistry(RateLimiterConfig defaultConfig)The constructor with custom default config.InMemoryRateLimiterRegistry(RateLimiterConfig defaultConfig, io.github.resilience4j.core.registry.RegistryEventConsumer<RateLimiter> registryEventConsumer)InMemoryRateLimiterRegistry(RateLimiterConfig defaultConfig, io.github.resilience4j.core.registry.RegistryEventConsumer<RateLimiter> registryEventConsumer, io.vavr.collection.Map<java.lang.String,java.lang.String> tags)InMemoryRateLimiterRegistry(RateLimiterConfig defaultConfig, io.vavr.collection.Map<java.lang.String,java.lang.String> tags)InMemoryRateLimiterRegistry(RateLimiterConfig defaultConfig, java.util.List<io.github.resilience4j.core.registry.RegistryEventConsumer<RateLimiter>> registryEventConsumers)InMemoryRateLimiterRegistry(RateLimiterConfig defaultConfig, java.util.List<io.github.resilience4j.core.registry.RegistryEventConsumer<RateLimiter>> registryEventConsumers, io.vavr.collection.Map<java.lang.String,java.lang.String> tags)InMemoryRateLimiterRegistry(io.vavr.collection.Map<java.lang.String,java.lang.String> tags)InMemoryRateLimiterRegistry(java.util.Map<java.lang.String,RateLimiterConfig> configs)InMemoryRateLimiterRegistry(java.util.Map<java.lang.String,RateLimiterConfig> configs, io.github.resilience4j.core.registry.RegistryEventConsumer<RateLimiter> registryEventConsumer)InMemoryRateLimiterRegistry(java.util.Map<java.lang.String,RateLimiterConfig> configs, io.github.resilience4j.core.registry.RegistryEventConsumer<RateLimiter> registryEventConsumer, io.vavr.collection.Map<java.lang.String,java.lang.String> tags)InMemoryRateLimiterRegistry(java.util.Map<java.lang.String,RateLimiterConfig> configs, io.vavr.collection.Map<java.lang.String,java.lang.String> tags)InMemoryRateLimiterRegistry(java.util.Map<java.lang.String,RateLimiterConfig> configs, java.util.List<io.github.resilience4j.core.registry.RegistryEventConsumer<RateLimiter>> registryEventConsumers)InMemoryRateLimiterRegistry(java.util.Map<java.lang.String,RateLimiterConfig> configs, java.util.List<io.github.resilience4j.core.registry.RegistryEventConsumer<RateLimiter>> registryEventConsumers, io.vavr.collection.Map<java.lang.String,java.lang.String> tags)InMemoryRateLimiterRegistry(java.util.Map<java.lang.String,RateLimiterConfig> configs, java.util.List<io.github.resilience4j.core.registry.RegistryEventConsumer<RateLimiter>> registryEventConsumers, io.vavr.collection.Map<java.lang.String,java.lang.String> tags, io.github.resilience4j.core.RegistryStore<RateLimiter> registryStore) -
Method Summary
Modifier and Type Method Description io.vavr.collection.Seq<RateLimiter>getAllRateLimiters()Returns all managedRateLimiterinstances.RateLimiterrateLimiter(java.lang.String name)Returns a managedRateLimiteror creates a new one with the default RateLimiter configuration.RateLimiterrateLimiter(java.lang.String name, RateLimiterConfig config)Returns a managedRateLimiteror creates a new one with a custom RateLimiter configuration.RateLimiterrateLimiter(java.lang.String name, RateLimiterConfig config, io.vavr.collection.Map<java.lang.String,java.lang.String> tags)Returns a managedRateLimiteror creates a new one with a custom RateLimiter configuration.RateLimiterrateLimiter(java.lang.String name, io.vavr.collection.Map<java.lang.String,java.lang.String> tags)Returns a managedRateLimiteror creates a new one with the default RateLimiter configuration.RateLimiterrateLimiter(java.lang.String name, java.lang.String configName)Returns a managedRateLimiteror creates a new one.RateLimiterrateLimiter(java.lang.String name, java.lang.String configName, io.vavr.collection.Map<java.lang.String,java.lang.String> tags)Returns a managedRateLimiteror creates a new one.RateLimiterrateLimiter(java.lang.String name, java.util.function.Supplier<RateLimiterConfig> rateLimiterConfigSupplier)Returns a managedRateLimiterConfigor creates a new one with a custom RateLimiterConfig configuration.RateLimiterrateLimiter(java.lang.String name, java.util.function.Supplier<RateLimiterConfig> rateLimiterConfigSupplier, io.vavr.collection.Map<java.lang.String,java.lang.String> tags)Returns a managedRateLimiterConfigor creates a new one with a custom RateLimiterConfig configuration.Methods inherited from class io.github.resilience4j.core.registry.AbstractRegistry
addConfiguration, computeIfAbsent, find, getAllTags, getConfiguration, getDefaultConfig, getEventPublisher, getTags, remove, replace
-
Constructor Details
-
InMemoryRateLimiterRegistry
public InMemoryRateLimiterRegistry()The constructor with default default. -
InMemoryRateLimiterRegistry
public InMemoryRateLimiterRegistry(io.vavr.collection.Map<java.lang.String,java.lang.String> tags) -
InMemoryRateLimiterRegistry
-
InMemoryRateLimiterRegistry
public InMemoryRateLimiterRegistry(java.util.Map<java.lang.String,RateLimiterConfig> configs, io.vavr.collection.Map<java.lang.String,java.lang.String> tags) -
InMemoryRateLimiterRegistry
public InMemoryRateLimiterRegistry(java.util.Map<java.lang.String,RateLimiterConfig> configs, io.github.resilience4j.core.registry.RegistryEventConsumer<RateLimiter> registryEventConsumer) -
InMemoryRateLimiterRegistry
public InMemoryRateLimiterRegistry(java.util.Map<java.lang.String,RateLimiterConfig> configs, io.github.resilience4j.core.registry.RegistryEventConsumer<RateLimiter> registryEventConsumer, io.vavr.collection.Map<java.lang.String,java.lang.String> tags) -
InMemoryRateLimiterRegistry
public InMemoryRateLimiterRegistry(java.util.Map<java.lang.String,RateLimiterConfig> configs, java.util.List<io.github.resilience4j.core.registry.RegistryEventConsumer<RateLimiter>> registryEventConsumers) -
InMemoryRateLimiterRegistry
public InMemoryRateLimiterRegistry(java.util.Map<java.lang.String,RateLimiterConfig> configs, java.util.List<io.github.resilience4j.core.registry.RegistryEventConsumer<RateLimiter>> registryEventConsumers, io.vavr.collection.Map<java.lang.String,java.lang.String> tags) -
InMemoryRateLimiterRegistry
The constructor with custom default config.- Parameters:
defaultConfig- The default config.
-
InMemoryRateLimiterRegistry
public InMemoryRateLimiterRegistry(RateLimiterConfig defaultConfig, io.vavr.collection.Map<java.lang.String,java.lang.String> tags) -
InMemoryRateLimiterRegistry
public InMemoryRateLimiterRegistry(RateLimiterConfig defaultConfig, io.github.resilience4j.core.registry.RegistryEventConsumer<RateLimiter> registryEventConsumer) -
InMemoryRateLimiterRegistry
public InMemoryRateLimiterRegistry(RateLimiterConfig defaultConfig, io.github.resilience4j.core.registry.RegistryEventConsumer<RateLimiter> registryEventConsumer, io.vavr.collection.Map<java.lang.String,java.lang.String> tags) -
InMemoryRateLimiterRegistry
public InMemoryRateLimiterRegistry(RateLimiterConfig defaultConfig, java.util.List<io.github.resilience4j.core.registry.RegistryEventConsumer<RateLimiter>> registryEventConsumers) -
InMemoryRateLimiterRegistry
public InMemoryRateLimiterRegistry(RateLimiterConfig defaultConfig, java.util.List<io.github.resilience4j.core.registry.RegistryEventConsumer<RateLimiter>> registryEventConsumers, io.vavr.collection.Map<java.lang.String,java.lang.String> tags) -
InMemoryRateLimiterRegistry
public InMemoryRateLimiterRegistry(java.util.Map<java.lang.String,RateLimiterConfig> configs, java.util.List<io.github.resilience4j.core.registry.RegistryEventConsumer<RateLimiter>> registryEventConsumers, io.vavr.collection.Map<java.lang.String,java.lang.String> tags, io.github.resilience4j.core.RegistryStore<RateLimiter> registryStore)
-
-
Method Details
-
getAllRateLimiters
Returns all managedRateLimiterinstances.- Specified by:
getAllRateLimitersin interfaceRateLimiterRegistry- Returns:
- all managed
RateLimiterinstances.
-
rateLimiter
Returns a managedRateLimiteror creates a new one with the default RateLimiter configuration.- Specified by:
rateLimiterin interfaceRateLimiterRegistry- Parameters:
name- the name of the RateLimiter- Returns:
- The
RateLimiter
-
rateLimiter
public RateLimiter rateLimiter(java.lang.String name, io.vavr.collection.Map<java.lang.String,java.lang.String> tags)Returns a managedRateLimiteror creates a new one with the default RateLimiter 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:
rateLimiterin interfaceRateLimiterRegistry- Parameters:
name- the name of the RateLimitertags- tags added to the RateLimiter- Returns:
- The
RateLimiter
-
rateLimiter
Returns a managedRateLimiteror creates a new one with a custom RateLimiter configuration.- Specified by:
rateLimiterin interfaceRateLimiterRegistry- Parameters:
name- the name of the RateLimiterconfig- a custom RateLimiter configuration- Returns:
- The
RateLimiter
-
rateLimiter
public RateLimiter rateLimiter(java.lang.String name, RateLimiterConfig config, io.vavr.collection.Map<java.lang.String,java.lang.String> tags)Returns a managedRateLimiteror creates a new one with a custom RateLimiter 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:
rateLimiterin interfaceRateLimiterRegistry- Parameters:
name- the name of the RateLimiterconfig- a custom RateLimiter configurationtags- tags added to the RateLimiter- Returns:
- The
RateLimiter
-
rateLimiter
public RateLimiter rateLimiter(java.lang.String name, java.util.function.Supplier<RateLimiterConfig> rateLimiterConfigSupplier)Returns a managedRateLimiterConfigor creates a new one with a custom RateLimiterConfig configuration.- Specified by:
rateLimiterin interfaceRateLimiterRegistry- Parameters:
name- the name of the RateLimiterConfigrateLimiterConfigSupplier- a supplier of a custom RateLimiterConfig configuration- Returns:
- The
RateLimiterConfig
-
rateLimiter
public RateLimiter rateLimiter(java.lang.String name, java.util.function.Supplier<RateLimiterConfig> rateLimiterConfigSupplier, io.vavr.collection.Map<java.lang.String,java.lang.String> tags)Returns a managedRateLimiterConfigor creates a new one with a custom RateLimiterConfig 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:
rateLimiterin interfaceRateLimiterRegistry- Parameters:
name- the name of the RateLimiterConfigrateLimiterConfigSupplier- a supplier of a custom RateLimiterConfig configurationtags- tags added to the RateLimiter- Returns:
- The
RateLimiterConfig
-
rateLimiter
Returns a managedRateLimiteror creates a new one. The configuration must have been added upfront viaRegistry.addConfiguration(String, Object).- Specified by:
rateLimiterin interfaceRateLimiterRegistry- Parameters:
name- the name of the RateLimiterconfigName- the name of the shared configuration- Returns:
- The
RateLimiter
-
rateLimiter
public RateLimiter rateLimiter(java.lang.String name, java.lang.String configName, io.vavr.collection.Map<java.lang.String,java.lang.String> tags)Returns a managedRateLimiteror creates a new one. The configuration must have been added upfront viaRegistry.addConfiguration(String, Object).- Specified by:
rateLimiterin interfaceRateLimiterRegistry- Parameters:
name- the name of the RateLimiterconfigName- the name of the shared configuration- Returns:
- The
RateLimiter
-