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>
BuildsRateLimiterinstances.This class is not threadsafe.
- See Also:
RateLimiterConfig,RateLimitExceededException
-
-
Field Summary
-
Fields inherited from class dev.failsafe.PolicyBuilder
config
-
-
Constructor Summary
Constructors Constructor Description RateLimiterBuilder(long maxPermits, java.time.Duration period)RateLimiterBuilder(RateLimiterConfig<R> config)RateLimiterBuilder(java.time.Duration executionRate)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description RateLimiter<R>build()Builds a newRateLimiterusing the builder's configuration.RateLimiterBuilder<R>withMaxWaitTime(java.time.Duration maxWaitTime)Configures themaxWaitTimeto wait for permits to be available.-
Methods inherited from class dev.failsafe.PolicyBuilder
onFailure, onSuccess
-
-
-
-
Constructor Detail
-
RateLimiterBuilder
RateLimiterBuilder(java.time.Duration executionRate)
-
RateLimiterBuilder
RateLimiterBuilder(long maxPermits, java.time.Duration period)
-
RateLimiterBuilder
RateLimiterBuilder(RateLimiterConfig<R> config)
-
-
Method Detail
-
build
public RateLimiter<R> build()
Builds a newRateLimiterusing the builder's configuration.
-
withMaxWaitTime
public RateLimiterBuilder<R> withMaxWaitTime(java.time.Duration maxWaitTime)
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:
java.lang.NullPointerException- ifmaxWaitTimeis null
-
-