クラス RateLimiterRequestHandlerAdvice

実装されたすべてのインターフェース:
AdviceInterceptorMethodInterceptorAwareBeanFactoryAwareBeanNameAwareInitializingBeanApplicationContextAwareExpressionCapableNamedComponent

public class RateLimiterRequestHandlerAdvice extends AbstractRequestHandlerAdvice
サービスメソッド呼び出しにレート制限するための AbstractRequestHandlerAdvice 拡張。実装は Resilience4j に基づいています。
導入:
5.2
作成者:
Artem Bilan, Gary Russell
  • フィールドの詳細

  • コンストラクターの詳細

    • RateLimiterRequestHandlerAdvice

      public RateLimiterRequestHandlerAdvice()
      デフォルトのレートリミッターオプションとレートリミッター名としての "RateLimiterRequestHandlerAdvice" に基づいてインスタンスを構築します。
      関連事項:
      • RateLimiter.ofDefaults(java.lang.String)
    • RateLimiterRequestHandlerAdvice

      public RateLimiterRequestHandlerAdvice(StringSE name)
      デフォルトのレートリミッターオプションと指定された名前に基づいてインスタンスを構築します。
      パラメーター:
      name - レートリミッターの名前。
    • RateLimiterRequestHandlerAdvice

      public RateLimiterRequestHandlerAdvice(io.github.resilience4j.ratelimiter.RateLimiter rateLimiter)
      提供された RateLimiter に基づいてインスタンスを構築します。
      パラメーター:
      rateLimiter - 使用する RateLimiter
    • RateLimiterRequestHandlerAdvice

      public RateLimiterRequestHandlerAdvice(io.github.resilience4j.ratelimiter.RateLimiterConfig rateLimiterConfig)
      レートリミッター名として提供された RateLimiterConfig および "RateLimiterRequestHandlerAdvice" に基づいてインスタンスを構築します。
      パラメーター:
      rateLimiterConfig - 使用する RateLimiterConfig
    • RateLimiterRequestHandlerAdvice

      public RateLimiterRequestHandlerAdvice(io.github.resilience4j.ratelimiter.RateLimiterConfig rateLimiterConfig, StringSE name)
      提供された RateLimiterConfig と名前に基づいてインスタンスを構築します。
      パラメーター:
      rateLimiterConfig - 使用する RateLimiterConfig
      name - レートリミッターの名前。
  • メソッドの詳細

    • setLimitForPeriod

      public void setLimitForPeriod(int limitForPeriod)
      rateLimiter の limitForPeriod オプションを変更します。
      パラメーター:
      limitForPeriod - 使用する limitForPeriod
      関連事項:
      • RateLimiter.changeLimitForPeriod(int)
    • setTimeoutDuration

      public void setTimeoutDuration(DurationSE timeoutDuration)
      rateLimiter の timeoutDuration オプションを変更します。
      パラメーター:
      timeoutDuration - 使用する timeoutDuration
      関連事項:
      • RateLimiter.changeTimeoutDuration(Duration)
    • getMetrics

      public io.github.resilience4j.ratelimiter.RateLimiter.Metrics getMetrics()
      レートリミッターからメトリクスを取得します。
      戻り値:
      レートリミッターからの RateLimiter.Metrics
      関連事項:
      • RateLimiter.getMetrics()
    • getRateLimiter

      public io.github.resilience4j.ratelimiter.RateLimiter getRateLimiter()
      このアドバイス用に構成された RateLimiter を取得します。
      戻り値:
      このアドバイスのための RateLimiter
    • doInvoke

      protected ObjectSE doInvoke(AbstractRequestHandlerAdvice.ExecutionCallback callback, ObjectSE target, Message<?> message)
      クラスからコピーされた説明: AbstractRequestHandlerAdvice
      サブクラスは、このメソッドを実装して、MessageHandler に動作を適用します。

      callback.execute() はハンドラーメソッドを呼び出し、その結果、null を返します。

      次で指定:
      クラス AbstractRequestHandlerAdvicedoInvoke 
      パラメーター:
      callback - サブクラスは、このインターフェースで execute() メソッドを呼び出して、ハンドラーメソッドを呼び出します。
      target - ターゲットハンドラー。
      message - ハンドラーに送信されるメッセージ。
      戻り値:
      MessageHandler を呼び出した後の結果。