クラス ConcurrencyThrottleSupport

java.lang.ObjectSE
org.springframework.util.ConcurrencyThrottleSupport
実装されているすべてのインターフェース:
SerializableSE
既知の直属サブクラス
ConcurrencyThrottleInterceptor, SyncTaskExecutor

public abstract class ConcurrencyThrottleSupport extends ObjectSE implements SerializableSE
特定のリソースへの同時アクセスを調整するためのサポートクラス。

基本クラスとして使用するように設計されており、サブクラスはワークフローの適切なポイントで beforeAccess() メソッドと afterAccess() メソッドを呼び出します。afterAccess は通常、finally ブロックで呼び出される必要があることに注意してください。

このサポートクラスのデフォルトの同時実行制限は UNBOUNDED_CONCURRENCY です。サブクラスはこのデフォルトをオーバーライドできます。使用している具象クラスの javadoc を確認してください。

導入:
1.2.5
作成者:
Juergen Hoeller
関連事項:
  • フィールドのサマリー

    フィールド
    修飾子と型
    フィールド
    説明
    protected org.apache.commons.logging.Log
    直列化を最適化するための一時的。
    static final int
    同時実行スロットルが無効になっていることを示す同時実行制限: 0。
    static final int
    無制限の同時実行を示す同時実行制限: -1。
  • コンストラクターの概要

    コンストラクター
    コンストラクター
    説明
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    protected void
    具象サブクラスのメイン実行ロジックの後に呼び出されます。
    protected void
    具象サブクラスのメイン実行ロジックの前に呼び出されます。
    int
    許可される同時アクセス試行の最大数を返します。
    boolean
    このスロットルが現在アクティブかどうかを返します。
    protected void
    同時実行制限に達したときに beforeAccess() によってトリガーされます。
    void
    setConcurrencyLimit(int concurrencyLimit)
    許可される同時アクセス試行の最大数を設定します。

    クラス ObjectSE から継承されたメソッド

    clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSE
  • フィールドの詳細

    • UNBOUNDED_CONCURRENCY

      public static final int UNBOUNDED_CONCURRENCY
      無制限の同時実行を示す同時実行制限: -1。

      制限をこの値に設定すると、任意の数の同時呼び出しが許可されます。つまり、同時実行は制限されません。

      関連事項:
    • NO_CONCURRENCY

      public static final int NO_CONCURRENCY
      同時実行スロットルが無効になっていることを示す同時実行制限: 0。

      制限をこの値に設定すると、すべての呼び出しが防止されます。

      関連事項:
    • logger

      protected transient org.apache.commons.logging.Log logger
      直列化を最適化するための一時的。
  • コンストラクターの詳細

    • ConcurrencyThrottleSupport

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

    • setConcurrencyLimit

      public void setConcurrencyLimit(int concurrencyLimit)
      許可される同時アクセス試行の最大数を設定します。デフォルトの -1 は、同時実行制限がまったくないことを示します。

      原則として、この制限は実行時に変更できますが、通常は構成時間の設定として設計されています。

      NOTE: 実行時に -1 と具体的な制限を切り替えないでください。同時実行数の一貫性が失われます: 制限値 -1 は、同時実行カウントを完全にオフにします。

    • getConcurrencyLimit

      public int getConcurrencyLimit()
      許可される同時アクセス試行の最大数を返します。
    • isThrottleActive

      public boolean isThrottleActive()
      このスロットルが現在アクティブかどうかを返します。
      戻り値:
      このインスタンスの同時実行制限がアクティブな場合、true 
      関連事項:
    • beforeAccess

      protected void beforeAccess()
      具象サブクラスのメイン実行ロジックの前に呼び出されます。

      この実装では、同時実行性スロットルが適用されます。

      関連事項:
    • onLimitReached

      protected void onLimitReached()
      同時実行数の上限に達した際に beforeAccess() によってトリガーされます。デフォルトの実装では、同時実行数が許容値に達するまでブロックされます。
      導入:
      6.2.6
    • afterAccess

      protected void afterAccess()
      具象サブクラスのメイン実行ロジックの後に呼び出されます。
      関連事項: