パッケージ org.springframework.util
クラス ConcurrencyThrottleSupport
java.lang.ObjectSE
org.springframework.util.ConcurrencyThrottleSupport
- 実装されたすべてのインターフェース:
SerializableSE
- 既知の直属サブクラス
ConcurrencyThrottleInterceptor
特定のリソースへの同時アクセスを調整するためのサポートクラス。
基本クラスとして使用するように設計されており、サブクラスはワークフローの適切なポイントで beforeAccess()
メソッドと afterAccess()
メソッドを呼び出します。afterAccess
は通常、finally
ブロックで呼び出される必要があることに注意してください。
このサポートクラスのデフォルトの同時実行制限は -1(「無制限の同時実行」)です。サブクラスはこのデフォルトをオーバーライドできます。使用している具象クラスの javadoc を確認してください。
- 導入:
- 1.2.5
- 作成者:
- Juergen Hoeller
- 関連事項:
フィールドのサマリー
フィールド修飾子と型フィールド説明protected Log
直列化を最適化するための一時的。static final int
並行性を「オフ」に切り替える: つまり、同時呼び出しを許可しません。static final int
任意の数の同時呼び出しを許可します。つまり、同時実行を抑制しません。コンストラクターの概要
コンストラクターメソッドのサマリー
修飾子と型メソッド説明protected void
具象サブクラスのメイン実行ロジックの後に呼び出されます。protected void
具象サブクラスのメイン実行ロジックの前に呼び出されます。int
許可される同時アクセス試行の最大数を返します。boolean
このスロットルが現在アクティブかどうかを返します。protected void
同時実行制限に達したときにbeforeAccess()
によってトリガーされます。void
setConcurrencyLimit
(int concurrencyLimit) 許可される同時アクセス試行の最大数を設定します。
フィールドの詳細
コンストラクターの詳細
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()具象サブクラスのメイン実行ロジックの後に呼び出されます。- 関連事項: