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>
BuildsRateLimiter
instances.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 newRateLimiter
using the builder's configuration.RateLimiterBuilder<R>
withMaxWaitTime(java.time.Duration maxWaitTime)
Configures themaxWaitTime
to 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 newRateLimiter
using the builder's configuration.
-
withMaxWaitTime
public RateLimiterBuilder<R> withMaxWaitTime(java.time.Duration maxWaitTime)
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:
java.lang.NullPointerException
- ifmaxWaitTime
is null
-
-