Package dev.failsafe
Class RateLimiterBuilder<R>
java.lang.Object
dev.failsafe.PolicyBuilder<RateLimiterBuilder<R>,RateLimiterConfig<R>,R>
dev.failsafe.RateLimiterBuilder<R>
- Type Parameters:
R- result type
- All Implemented Interfaces:
PolicyListeners<RateLimiterBuilder<R>,R>
public class RateLimiterBuilder<R>
extends PolicyBuilder<RateLimiterBuilder<R>,RateLimiterConfig<R>,R>
Builds
RateLimiter instances.
This class is not threadsafe.
- See Also:
-
Field Summary
Fields inherited from class dev.failsafe.PolicyBuilder
config -
Constructor Summary
ConstructorsConstructorDescriptionRateLimiterBuilder(long maxPermits, Duration period) RateLimiterBuilder(RateLimiterConfig<R> config) RateLimiterBuilder(Duration executionRate) -
Method Summary
Modifier and TypeMethodDescriptionbuild()Builds a newRateLimiterusing the builder's configuration.withMaxWaitTime(Duration maxWaitTime) Configures themaxWaitTimeto wait for permits to be available.Methods inherited from class dev.failsafe.PolicyBuilder
onFailure, onSuccess
-
Constructor Details
-
RateLimiterBuilder
RateLimiterBuilder(Duration executionRate) -
RateLimiterBuilder
RateLimiterBuilder(long maxPermits, Duration period) -
RateLimiterBuilder
RateLimiterBuilder(RateLimiterConfig<R> config)
-
-
Method Details
-
build
Builds a newRateLimiterusing the builder's configuration. -
withMaxWaitTime
Configures themaxWaitTimeto wait for permits to be available. If permits cannot be acquired before themaxWaitTimeis exceeded, then the rate limiter will throwRateLimitExceededException.This setting only applies when the resulting RateLimiter is used with the
Failsafeclass. It does not apply when the RateLimiter is used in a standalone way.- Throws:
NullPointerException- ifmaxWaitTimeis null
-