Class RateLimiterConfig

java.lang.Object
io.github.resilience4j.ratelimiter.RateLimiterConfig
All Implemented Interfaces:
Serializable

public class RateLimiterConfig extends Object implements Serializable
See Also:
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      See Also:
    • TIMEOUT_DURATION_MUST_NOT_BE_NULL

      private static final String TIMEOUT_DURATION_MUST_NOT_BE_NULL
      See Also:
    • TIMEOUT_DURATION_TOO_LARGE

      private static final String TIMEOUT_DURATION_TOO_LARGE
      See Also:
    • LIMIT_REFRESH_PERIOD_MUST_NOT_BE_NULL

      private static final String LIMIT_REFRESH_PERIOD_MUST_NOT_BE_NULL
      See Also:
    • LIMIT_REFRESH_PERIOD_TOO_LARGE

      private static final String LIMIT_REFRESH_PERIOD_TOO_LARGE
      See Also:
    • ACCEPTABLE_REFRESH_PERIOD

      private static final Duration ACCEPTABLE_REFRESH_PERIOD
    • DEFAULT_WRITABLE_STACK_TRACE_ENABLED

      private static final boolean DEFAULT_WRITABLE_STACK_TRACE_ENABLED
      See Also:
    • timeoutDuration

      private final Duration timeoutDuration
    • limitRefreshPeriod

      private final Duration limitRefreshPeriod
    • limitForPeriod

      private final int limitForPeriod
    • drainPermissionsOnResult

      private final transient Predicate<io.github.resilience4j.core.functions.Either<? extends Throwable, ?>> drainPermissionsOnResult
    • writableStackTraceEnabled

      private final boolean writableStackTraceEnabled
  • Constructor Details

    • RateLimiterConfig

      private RateLimiterConfig(Duration timeoutDuration, Duration limitRefreshPeriod, int limitForPeriod, Predicate<io.github.resilience4j.core.functions.Either<? extends Throwable, ?>> drainPermissionsOnResult, boolean writableStackTraceEnabled)
  • Method Details

    • custom

      public static RateLimiterConfig.Builder custom()
      Returns a builder to create a custom RateLimiterConfig.
      Returns:
      a RateLimiterConfig.Builder
    • from

      public static RateLimiterConfig.Builder from(RateLimiterConfig prototype)
      Returns a builder to create a custom RateLimiterConfig using specified config as prototype
      Parameters:
      prototype - A RateLimiterConfig prototype.
      Returns:
      a RateLimiterConfig.Builder
    • ofDefaults

      public static RateLimiterConfig ofDefaults()
      Creates a default RateLimiter configuration.
      Returns:
      a default RateLimiter configuration.
    • checkTimeoutDuration

      private static Duration checkTimeoutDuration(Duration timeoutDuration)
    • validateDurationWithinRange

      private static Duration validateDurationWithinRange(Duration duration, String message)
    • checkLimitRefreshPeriod

      private static Duration checkLimitRefreshPeriod(Duration limitRefreshPeriod)
    • checkLimitForPeriod

      private static int checkLimitForPeriod(int limitForPeriod)
    • getTimeoutDuration

      public Duration getTimeoutDuration()
    • getLimitRefreshPeriod

      public Duration getLimitRefreshPeriod()
    • getLimitForPeriod

      public int getLimitForPeriod()
    • getDrainPermissionsOnResult

      public Predicate<io.github.resilience4j.core.functions.Either<? extends Throwable, ?>> getDrainPermissionsOnResult()
    • isWritableStackTraceEnabled

      public boolean isWritableStackTraceEnabled()
    • toString

      public String toString()
      Overrides:
      toString in class Object