クラス 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 void
    bind(ObjectSE key, ObjectSE value)
    指定されたキーの指定されたリソースを現在のスレッドにバインドします。
    static void
    現在のスレッドのリソースをクリアします。
    static ObjectSE
    現在のスレッドにバインドされている特定のキーのリソースを取得します。
    現在のスレッドにバインドされているすべてのリソースを返します。
    static boolean
    現在のスレッドにバインドされた特定のキーのリソースがあるかどうかを確認します。
    static ObjectSE
    現在の値をバインド解除し、存在する場合はスタックの先頭をバインドします。
    static void
    push(ObjectSE key, ObjectSE value)
    このキーの値を設定し、既存の値をスタックにプッシュします。
    static ObjectSE
    現在のスレッドから指定されたキーのリソースをアンバインドします。
    static ObjectSE
    現在のスレッドから指定されたキーのリソースをアンバインドします。

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

    clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSE
  • メソッドの詳細

    • getResources

      public static MapSE<ObjectSE,ObjectSE> getResources()
      現在のスレッドにバインドされているすべてのリソースを返します。

      主にデバッグを目的としています。リソースマネージャーは、関心のある特定のリソースキーに対して常に hasResource を呼び出す必要があります。

      戻り値:
      リソースキー(通常はリソースファクトリ)とリソース値(通常はアクティブなリソースオブジェクト)を持つ Map、または現在バインドされているリソースがない場合は空の Map
      関連事項:
    • 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()
      現在のスレッドのリソースをクリアします。