クラス SimpleResourceHolder
- java.lang.ObjectSE
-
- org.springframework.amqp.rabbit.connection.SimpleResourceHolder
public final class SimpleResourceHolder extends ObjectSE
リソース管理コードで使用されるスレッドごとにリソースを管理する主要ヘルパー。bind(Object, Object)は、キーごとに 1 つのリソースを上書きせずにサポートします。つまり、同じキーに新しいリソースを設定するには、その前にリソースを削除する必要があります。ただし、push(Object, Object)およびpop(Object)を参照してください。リソース管理コードは、
has(Object)を介してスレッドにバインドされたリソースをチェックする必要があります。このヘルパーは、トランザクション同期のケース向けには設計されていません。代わりに
TransactionSynchronizationManagerとResourceHolderを使用してください。- 導入:
- 1.3
- 作成者:
- Artem Bilan, Gary Russell
方法の概要
すべてのメソッド 静的メソッド 具象メソッド 修飾子と型 メソッド 説明 static voidbind(ObjectSE key, ObjectSE value)指定されたキーの指定されたリソースを現在のスレッドにバインドします。static voidclear()現在のスレッドのリソースをクリアします。static ObjectSEget(ObjectSE key)現在のスレッドにバインドされている特定のキーのリソースを取得します。static MapSE<ObjectSE,ObjectSE>getResources()現在のスレッドにバインドされているすべてのリソースを返します。static booleanhas(ObjectSE key)現在のスレッドにバインドされた特定のキーのリソースがあるかどうかを確認します。static ObjectSEpop(ObjectSE key)現在の値をバインド解除し、存在する場合はスタックの先頭をバインドします。static voidpush(ObjectSE key, ObjectSE value)このキーの値を設定し、既存の値をスタックにプッシュします。static ObjectSEunbind(ObjectSE key)現在のスレッドから指定されたキーのリソースをアンバインドします。static ObjectSEunbindIfPossible(ObjectSE key)現在のスレッドから指定されたキーのリソースをアンバインドします。
メソッドの詳細
getResources
public static MapSE<ObjectSE,ObjectSE> getResources()
現在のスレッドにバインドされているすべてのリソースを返します。主にデバッグを目的としています。リソースマネージャーは、関心のある特定のリソースキーに対して常に
hasResourceを呼び出す必要があります。- 戻り値:
- リソースキー(通常はリソースファクトリ)とリソース値(通常はアクティブなリソースオブジェクト)を持つ Map、または現在バインドされているリソースがない場合は空の Map
- 関連事項:
has(java.lang.Object)
has
public static boolean has(ObjectSE key)
現在のスレッドにバインドされた特定のキーのリソースがあるかどうかを確認します。- パラメーター:
key- チェックするキー (通常、リソースファクトリ)- 戻り値:
- 現在のスレッドにバインドされた値がある場合
get
@Nullable public static ObjectSE get(ObjectSE key)
現在のスレッドにバインドされている特定のキーのリソースを取得します。- パラメーター:
key- チェックするキー (通常、リソースファクトリ)- 戻り値:
- 現在のスレッド(通常はアクティブなリソースオブジェクト)にバインドされた値、または存在しない場合は
null
bind
public static void bind(ObjectSE key, ObjectSE value)
指定されたキーの指定されたリソースを現在のスレッドにバインドします。- パラメーター:
key- 値をバインドするキー (通常、リソースファクトリ)value- バインドする値 (通常、アクティブなリソースオブジェクト)- 例外:
IllegalStateExceptionSE- すでにスレッドにバインドされている値がある場合
push
public static void push(ObjectSE key, ObjectSE value)
このキーの値を設定し、既存の値をスタックにプッシュします。- パラメーター:
key- キー。value- 値。- 導入:
- 2.1.11
pop
@Nullable public static ObjectSE pop(ObjectSE key)
現在の値をバインド解除し、存在する場合はスタックの先頭をバインドします。- パラメーター:
key- キー。- 戻り値:
- ポップされた値。
- 導入:
- 2.1.11
unbind
public static ObjectSE unbind(ObjectSE key) throws IllegalStateExceptionSE
現在のスレッドから指定されたキーのリソースをアンバインドします。- パラメーター:
key- バインドを解除するキー (通常、リソースファクトリ)- 戻り値:
- 以前にバインドされた値 (通常、アクティブなリソースオブジェクト)
- 例外:
IllegalStateExceptionSE- スレッドにバインドされた値がない場合
unbindIfPossible
@Nullable public static ObjectSE unbindIfPossible(ObjectSE key)
現在のスレッドから指定されたキーのリソースをアンバインドします。- パラメーター:
key- バインドを解除するキー (通常、リソースファクトリ)- 戻り値:
- 以前にバインドされた値、またはバインドされていない場合は
null
clear
public static void clear()
現在のスレッドのリソースをクリアします。