クラス 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 ObjectSE
doInvoke
(AbstractRequestHandlerAdvice.ExecutionCallback callback, ObjectSE target, Message<?> message) サブクラスは、このメソッドを実装して、MessageHandler
に動作を適用します。io.github.resilience4j.ratelimiter.RateLimiter.Metrics
レートリミッターからメトリクスを取得します。io.github.resilience4j.ratelimiter.RateLimiter
このアドバイス用に構成されたRateLimiter
を取得します。void
setLimitForPeriod
(int limitForPeriod) rateLimiter
のlimitForPeriod
オプションを変更します。void
setTimeoutDuration
(DurationSE timeoutDuration) rateLimiter
のtimeoutDuration
オプションを変更します。クラス org.springframework.integration.handler.advice.AbstractRequestHandlerAdvice から継承されたメソッド
invoke, unwrapExceptionIfNecessary, unwrapThrowableIfNecessary
クラス org.springframework.integration.context.IntegrationObjectSupport から継承されたメソッド
afterPropertiesSet, extractTypeIfPossible, generateId, getApplicationContext, getApplicationContextId, getBeanDescription, getBeanFactory, getBeanName, getChannelResolver, getComponentDescription, getComponentName, getComponentSource, getComponentType, 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 ObjectSE doInvoke(AbstractRequestHandlerAdvice.ExecutionCallback callback, ObjectSE target, Message<?> message) クラスからコピーされた説明:AbstractRequestHandlerAdvice
サブクラスは、このメソッドを実装して、MessageHandler
に動作を適用します。callback.execute() はハンドラーメソッドを呼び出し、その結果、null を返します。
- 次で指定:
- クラス
AbstractRequestHandlerAdvice
のdoInvoke
- パラメーター:
callback
- サブクラスは、このインターフェースで execute() メソッドを呼び出して、ハンドラーメソッドを呼び出します。target
- ターゲットハンドラー。message
- ハンドラーに送信されるメッセージ。- 戻り値:
MessageHandler
を呼び出した後の結果。