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 newRateLimiter
using the builder's configuration.withMaxWaitTime
(Duration maxWaitTime) Configures themaxWaitTime
to 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 newRateLimiter
using the builder's configuration. -
withMaxWaitTime
Configures themaxWaitTime
to wait for permits to be available. If permits cannot be acquired before themaxWaitTime
is exceeded, then the rate limiter will throwRateLimitExceededException
.This setting only applies when the resulting RateLimiter is used with the
Failsafe
class. It does not apply when the RateLimiter is used in a standalone way.- Throws:
NullPointerException
- ifmaxWaitTime
is null
-