クラス RateLimiterRequestHandlerAdvice
java.lang.ObjectSE
org.springframework.integration.context.IntegrationObjectSupport
org.springframework.integration.handler.advice.AbstractRequestHandlerAdvice
org.springframework.integration.handler.advice.RateLimiterRequestHandlerAdvice
- 実装済みのインターフェース一覧:
Advice、Interceptor、MethodInterceptor、Aware、BeanFactoryAware、BeanNameAware、InitializingBean、ApplicationContextAware、ComponentSourceAware、ExpressionCapable、NamedComponent
サービスメソッド呼び出しにレート制限するための
AbstractRequestHandlerAdvice 拡張。実装は Resilience4j に基づいています。- 導入:
- 5.2
- 作成者:
- Artem Bilan, Gary Russell
ネストされたクラスの概要
ネストされたクラス修飾子と型クラス説明static classクラス org.springframework.integration.handler.advice.AbstractRequestHandlerAdvice から継承されたネストクラス / インターフェース
AbstractRequestHandlerAdvice.ExecutionCallback, AbstractRequestHandlerAdvice.ThrowableHolderExceptionフィールド概要
フィールドクラス org.springframework.integration.context.IntegrationObjectSupport から継承されたフィールド
EXPRESSION_PARSER, loggerコンストラクター概要
コンストラクターコンストラクター説明デフォルトのレートリミッターオプションとレートリミッター名としての "RateLimiterRequestHandlerAdvice" に基づいてインスタンスを構築します。RateLimiterRequestHandlerAdvice(io.github.resilience4j.ratelimiter.RateLimiter rateLimiter) 提供されたRateLimiterに基づいてインスタンスを構築します。RateLimiterRequestHandlerAdvice(io.github.resilience4j.ratelimiter.RateLimiterConfig rateLimiterConfig) レートリミッター名として提供されたRateLimiterConfigおよび "RateLimiterRequestHandlerAdvice" に基づいてインスタンスを構築します。RateLimiterRequestHandlerAdvice(io.github.resilience4j.ratelimiter.RateLimiterConfig rateLimiterConfig, StringSE name) 提供されたRateLimiterConfigと名前に基づいてインスタンスを構築します。デフォルトのレートリミッターオプションと指定された名前に基づいてインスタンスを構築します。方法の概要
修飾子と型メソッド説明protected @Nullable ObjectSEdoInvoke(AbstractRequestHandlerAdvice.ExecutionCallback callback, ObjectSE target, Message<?> message) サブクラスは、このメソッドを実装して、MessageHandlerに動作を適用します。io.github.resilience4j.ratelimiter.RateLimiter.Metricsレートリミッターからメトリクスを取得します。io.github.resilience4j.ratelimiter.RateLimiterこのアドバイス用に構成されたRateLimiterを取得します。voidsetLimitForPeriod(int limitForPeriod) rateLimiterのlimitForPeriodオプションを変更します。voidsetTimeoutDuration(DurationSE timeoutDuration) rateLimiterのtimeoutDurationオプションを変更します。クラス org.springframework.integration.handler.advice.AbstractRequestHandlerAdvice から継承されたメソッド
getComponentType, invoke, unwrapExceptionIfNecessary, unwrapThrowableIfNecessaryクラス org.springframework.integration.context.IntegrationObjectSupport から継承されたメソッド
afterPropertiesSet, extractTypeIfPossible, generateId, getApplicationContext, getApplicationContextId, getBeanDescription, getBeanFactory, getBeanName, getChannelResolver, getComponentDescription, getComponentName, getComponentSource, getConversionService, getExpression, getIntegrationProperties, getMessageBuilderFactory, getTaskScheduler, isInitialized, onInit, setApplicationContext, setBeanFactory, setBeanName, setChannelResolver, setComponentDescription, setComponentName, setComponentSource, setConversionService, setMessageBuilderFactory, setPrimaryExpression, setTaskScheduler, toString
フィールドの詳細
DEFAULT_NAME
- 関連事項:
コンストラクターの詳細
RateLimiterRequestHandlerAdvice
public RateLimiterRequestHandlerAdvice()デフォルトのレートリミッターオプションとレートリミッター名としての "RateLimiterRequestHandlerAdvice" に基づいてインスタンスを構築します。- 関連事項:
RateLimiterRequestHandlerAdvice
デフォルトのレートリミッターオプションと指定された名前に基づいてインスタンスを構築します。- パラメーター:
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。- 関連事項:
setTimeoutDuration
rateLimiterのtimeoutDurationオプションを変更します。- パラメーター:
timeoutDuration- 使用するtimeoutDuration。- 関連事項:
getMetrics
public io.github.resilience4j.ratelimiter.RateLimiter.Metrics getMetrics()レートリミッターからメトリクスを取得します。- 戻り値:
- レートリミッターからの
RateLimiter.Metrics。 - 関連事項:
getRateLimiter
public io.github.resilience4j.ratelimiter.RateLimiter getRateLimiter()このアドバイス用に構成されたRateLimiterを取得します。- 戻り値:
- このアドバイスのための
RateLimiter。
doInvoke
protected @Nullable ObjectSE doInvoke(AbstractRequestHandlerAdvice.ExecutionCallback callback, ObjectSE target, Message<?> message) クラスからコピーされた説明:AbstractRequestHandlerAdviceサブクラスは、このメソッドを実装して、MessageHandlerに動作を適用します。callback.execute() はハンドラーメソッドを呼び出し、その結果、null を返します。
- 次で指定:
- クラス
AbstractRequestHandlerAdviceのdoInvoke - パラメーター:
callback- サブクラスは、このインターフェースで execute() メソッドを呼び出して、ハンドラーメソッドを呼び出します。target- ターゲットハンドラー。message- ハンドラーに送信されるメッセージ。- 戻り値:
MessageHandlerを呼び出した後の結果。