クラス ConcurrencyThrottleInterceptor

java.lang.ObjectSE
org.springframework.util.ConcurrencyThrottleSupport
org.springframework.aop.interceptor.ConcurrencyThrottleInterceptor
実装されたすべてのインターフェース:
SerializableSEAdviceInterceptorMethodInterceptor

public class ConcurrencyThrottleInterceptor extends ConcurrencyThrottleSupport implements MethodInterceptor, SerializableSE
同時アクセスを制限し、指定された同時実行制限に達した場合に呼び出しをブロックするインターセプター。

スレッドプール全体 (Web コンテナーのスレッドプールなど) を制限するのではなく、特定のサービスの同時実行性を調整する方が効率的なシナリオで、システムリソースを大量に使用するローカルサービスのメソッドに適用できます。

このインターセプターのデフォルトの同時実行制限は 1 です。この値を変更するには、"concurrencyLimit" Bean プロパティを指定します。

導入:
11.02.2004
作成者:
Juergen Hoeller
関連事項:
  • コンストラクターの詳細

    • ConcurrencyThrottleInterceptor

      public ConcurrencyThrottleInterceptor()
  • メソッドの詳細

    • invoke

      @Nullable public ObjectSE invoke(MethodInvocation methodInvocation) throws ThrowableSE
      インターフェースからコピーされた説明: MethodInterceptor
      このメソッドを実装して、呼び出しの前後に追加の処理を実行します。正しい実装としては、必ず Joinpoint.proceed() を呼び出すようにします。
      次で指定:
      インターフェース MethodInterceptorinvoke 
      パラメーター:
      methodInvocation - メソッド呼び出しジョインポイント
      戻り値:
      Joinpoint.proceed() の呼び出しの結果。インターセプターによってインターセプトされる可能性があります
      例外:
      ThrowableSE - インターセプターまたはターゲットオブジェクトが例外をスローする場合