Interface RateLimiterRegistry
- All Superinterfaces:
io.github.resilience4j.core.Registry<RateLimiter,RateLimiterConfig>
- All Known Implementing Classes:
InMemoryRateLimiterRegistry
public interface RateLimiterRegistry extends io.github.resilience4j.core.Registry<RateLimiter,RateLimiterConfig>
Manages all RateLimiter instances.
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static classRateLimiterRegistry.Builder -
Method Summary
Modifier and Type Method Description static RateLimiterRegistry.Buildercustom()Returns a builder to create a custom RateLimiterRegistry.io.vavr.collection.Seq<RateLimiter>getAllRateLimiters()Returns all managedRateLimiterinstances.static RateLimiterRegistryof(RateLimiterConfig defaultRateLimiterConfig)Creates a RateLimiterRegistry with a custom RateLimiter configuration.static RateLimiterRegistryof(RateLimiterConfig defaultRateLimiterConfig, io.github.resilience4j.core.registry.RegistryEventConsumer<RateLimiter> registryEventConsumer)Creates a RateLimiterRegistry with a custom default RateLimiter configuration and a RateLimiter registry event consumer.static RateLimiterRegistryof(RateLimiterConfig defaultRateLimiterConfig, java.util.List<io.github.resilience4j.core.registry.RegistryEventConsumer<RateLimiter>> registryEventConsumers)Creates a RateLimiterRegistry with a custom default RateLimiter configuration and a list of RateLimiter registry event consumers.static RateLimiterRegistryof(java.util.Map<java.lang.String,RateLimiterConfig> configs)Creates a ThreadPoolBulkheadRegistry with a Map of shared RateLimiter configurations.static RateLimiterRegistryof(java.util.Map<java.lang.String,RateLimiterConfig> configs, io.github.resilience4j.core.registry.RegistryEventConsumer<RateLimiter> registryEventConsumer)Creates a RateLimiterRegistry with a Map of shared RateLimiter configurations and a RateLimiter registry event consumer.static RateLimiterRegistryof(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)Creates a RateLimiterRegistry with a Map of shared RateLimiter configurations and a RateLimiter registry event consumer.static RateLimiterRegistryof(java.util.Map<java.lang.String,RateLimiterConfig> configs, io.vavr.collection.Map<java.lang.String,java.lang.String> tags)Creates a ThreadPoolBulkheadRegistry with a Map of shared RateLimiter configurations.static RateLimiterRegistryof(java.util.Map<java.lang.String,RateLimiterConfig> configs, java.util.List<io.github.resilience4j.core.registry.RegistryEventConsumer<RateLimiter>> registryEventConsumers)Creates a RateLimiterRegistry with a Map of shared RateLimiter configurations and a list of RateLimiter registry event consumers.static RateLimiterRegistryofDefaults()Returns a managedRateLimiterConfigor creates a new one with a default RateLimiter configuration.RateLimiterrateLimiter(java.lang.String name)Returns a managedRateLimiteror creates a new one with the default RateLimiter configuration.RateLimiterrateLimiter(java.lang.String name, RateLimiterConfig rateLimiterConfig)Returns a managedRateLimiteror creates a new one with a custom RateLimiter configuration.RateLimiterrateLimiter(java.lang.String name, RateLimiterConfig rateLimiterConfig, 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.
-
Method Details
-
of
Creates a RateLimiterRegistry with a custom RateLimiter configuration.- Parameters:
defaultRateLimiterConfig- a custom RateLimiter configuration- Returns:
- a RateLimiterRegistry instance backed by a custom RateLimiter configuration
-
of
static RateLimiterRegistry of(RateLimiterConfig defaultRateLimiterConfig, io.github.resilience4j.core.registry.RegistryEventConsumer<RateLimiter> registryEventConsumer)Creates a RateLimiterRegistry with a custom default RateLimiter configuration and a RateLimiter registry event consumer.- Parameters:
defaultRateLimiterConfig- a custom default RateLimiter configuration.registryEventConsumer- a RateLimiter registry event consumer.- Returns:
- a RateLimiterRegistry with a custom RateLimiter configuration and a RateLimiter registry event consumer.
-
of
static RateLimiterRegistry of(RateLimiterConfig defaultRateLimiterConfig, java.util.List<io.github.resilience4j.core.registry.RegistryEventConsumer<RateLimiter>> registryEventConsumers)Creates a RateLimiterRegistry with a custom default RateLimiter configuration and a list of RateLimiter registry event consumers.- Parameters:
defaultRateLimiterConfig- a custom default RateLimiter configuration.registryEventConsumers- a list of RateLimiter registry event consumers.- Returns:
- a RateLimiterRegistry with a custom RateLimiter configuration and a list of RateLimiter registry event consumers.
-
ofDefaults
Returns a managedRateLimiterConfigor creates a new one with a default RateLimiter configuration.- Returns:
- The
RateLimiterConfig
-
of
Creates a ThreadPoolBulkheadRegistry with a Map of shared RateLimiter configurations.- Parameters:
configs- a Map of shared RateLimiter configurations- Returns:
- a ThreadPoolBulkheadRegistry with a Map of shared RateLimiter configurations.
-
of
static RateLimiterRegistry of(java.util.Map<java.lang.String,RateLimiterConfig> configs, io.vavr.collection.Map<java.lang.String,java.lang.String> tags)Creates a ThreadPoolBulkheadRegistry with a Map of shared RateLimiter configurations.Tags added to the registry will be added to every instance created by this registry.
- Parameters:
configs- a Map of shared RateLimiter configurationstags- default tags to add to the registry- Returns:
- a ThreadPoolBulkheadRegistry with a Map of shared RateLimiter configurations.
-
of
static RateLimiterRegistry of(java.util.Map<java.lang.String,RateLimiterConfig> configs, io.github.resilience4j.core.registry.RegistryEventConsumer<RateLimiter> registryEventConsumer)Creates a RateLimiterRegistry with a Map of shared RateLimiter configurations and a RateLimiter registry event consumer.- Parameters:
configs- a Map of shared RateLimiter configurations.registryEventConsumer- a RateLimiter registry event consumer.- Returns:
- a RateLimiterRegistry with a Map of shared RateLimiter configurations and a RateLimiter registry event consumer.
-
of
static RateLimiterRegistry of(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)Creates a RateLimiterRegistry with a Map of shared RateLimiter configurations and a RateLimiter registry event consumer.- Parameters:
configs- a Map of shared RateLimiter configurations.registryEventConsumer- a RateLimiter registry event consumer.tags- default tags to add to the registry- Returns:
- a RateLimiterRegistry with a Map of shared RateLimiter configurations and a RateLimiter registry event consumer.
-
of
static RateLimiterRegistry of(java.util.Map<java.lang.String,RateLimiterConfig> configs, java.util.List<io.github.resilience4j.core.registry.RegistryEventConsumer<RateLimiter>> registryEventConsumers)Creates a RateLimiterRegistry with a Map of shared RateLimiter configurations and a list of RateLimiter registry event consumers.- Parameters:
configs- a Map of shared RateLimiter configurations.registryEventConsumers- a list of RateLimiter registry event consumers.- Returns:
- a RateLimiterRegistry with a Map of shared RateLimiter configurations and a list of RateLimiter registry event consumers.
-
getAllRateLimiters
io.vavr.collection.Seq<RateLimiter> getAllRateLimiters()Returns all managedRateLimiterinstances.- Returns:
- all managed
RateLimiterinstances.
-
rateLimiter
Returns a managedRateLimiteror creates a new one with the default RateLimiter configuration.- Parameters:
name- the name of the RateLimiter- Returns:
- The
RateLimiter
-
rateLimiter
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.- 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.- Parameters:
name- the name of the RateLimiterrateLimiterConfig- a custom RateLimiter configuration- Returns:
- The
RateLimiter
-
rateLimiter
RateLimiter rateLimiter(java.lang.String name, RateLimiterConfig rateLimiterConfig, 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.- Parameters:
name- the name of the RateLimiterrateLimiterConfig- a custom RateLimiter configurationtags- tags added to the RateLimiter- Returns:
- The
RateLimiter
-
rateLimiter
RateLimiter rateLimiter(java.lang.String name, java.util.function.Supplier<RateLimiterConfig> rateLimiterConfigSupplier)Returns a managedRateLimiterConfigor creates a new one with a custom RateLimiterConfig configuration.- Parameters:
name- the name of the RateLimiterConfigrateLimiterConfigSupplier- a supplier of a custom RateLimiterConfig configuration- Returns:
- The
RateLimiterConfig
-
rateLimiter
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.- 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).- Parameters:
name- the name of the RateLimiterconfigName- the name of the shared configuration- Returns:
- The
RateLimiter
-
rateLimiter
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).- Parameters:
name- the name of the RateLimiterconfigName- the name of the shared configuration- Returns:
- The
RateLimiter
-
custom
Returns a builder to create a custom RateLimiterRegistry.- Returns:
- a
RateLimiterRegistry.Builder
-