クラス 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, Ngoc Nhan
  • メソッドのサマリー

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

      public static @Nullable 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

      public static ObjectSE pop(ObjectSE key)
      現在の値をバインド解除し、存在する場合はスタックの先頭をバインドします。
      パラメーター:
      key - キー。
      戻り値:
      ポップされた値。
      導入:
      2.1.11
    • unbind

      public static ObjectSE unbind(ObjectSE key) throws IllegalStateExceptionSE
      現在のスレッドから指定されたキーのリソースをアンバインドします。
      パラメーター:
      key - バインドを解除するキー (通常、リソースファクトリ)
      戻り値:
      以前にバインドされた値 (通常、アクティブなリソースオブジェクト)
      例外:
      IllegalStateExceptionSE - スレッドにバインドされた値がない場合
    • unbindIfPossible

      public static @Nullable ObjectSE unbindIfPossible(ObjectSE key)
      現在のスレッドから指定されたキーのリソースをアンバインドします。
      パラメーター:
      key - バインドを解除するキー (通常、リソースファクトリ)
      戻り値:
      以前にバインドされた値、またはバインドされていない場合は null 
    • clear

      public static void clear()
      現在のスレッドのリソースをクリアします。