インターフェース SingletonBeanRegistry

すべての既知のサブインターフェース:
ConfigurableBeanFactoryConfigurableListableBeanFactory
すべての既知の実装クラス:
AbstractAutowireCapableBeanFactoryAbstractBeanFactoryDefaultListableBeanFactoryDefaultSingletonBeanRegistryFactoryBeanRegistrySupport

public interface SingletonBeanRegistry
共有 Bean インスタンスのレジストリを定義するインターフェース。シングルトン管理機能を均一に公開するために、BeanFactory 実装によって実装できます。

ConfigurableBeanFactory インターフェースは、このインターフェースを継承します。

導入:
2.0
作成者:
Juergen Hoeller
関連事項:
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    void
    addSingletonCallback(StringSE beanName, ConsumerSE<ObjectSE> singletonConsumer)
    指定されたシングルトンが Bean レジストリで使用可能になったときにトリガーされるコールバックを追加します。
    boolean
    このレジストリに、指定された名前のシングルトンインスタンスが含まれているかどうかを確認します。
    指定された名前で登録された(生の)シングルトンオブジェクトを返します。
    int
    このレジストリに登録されているシングルトン Bean の数を返します。
    使用すべきではありません。
    6.2 以降、寛大なシングルトンロックを推奨 (このメソッドはロックする任意のオブジェクトを返します)
    このレジストリに登録されているシングルトン Bean の名前を返します。
    void
    registerSingleton(StringSE beanName, ObjectSE singletonObject)
    指定された既存のオブジェクトを、指定された Bean 名で、Bean レジストリにシングルトンとして登録します。
  • メソッドの詳細

    • registerSingleton

      void registerSingleton(StringSE beanName, ObjectSE singletonObject)
      指定された既存のオブジェクトを、指定された Bean 名で、Bean レジストリにシングルトンとして登録します。

      与えられたインスタンスは完全に初期化されることになっています。レジストリは初期化コールバックを実行しません(特に、InitializingBean の afterPropertiesSet メソッドを呼び出しません)。指定されたインスタンスは、(DisposableBean の destroy メソッドのような)破棄コールバックも受け取りません。

      完全な BeanFactory 内で実行する場合: Bean が初期化および / または破棄コールバックを受け取ることになっている場合、既存のインスタンスの代わりに Bean 定義を登録します

      通常、レジストリ設定中に呼び出されますが、シングルトンのランタイム登録にも使用できます。結果として、レジストリ実装はシングルトンアクセスを同期する必要があります。BeanFactory のシングルトンの遅延初期化をサポートする場合、これを行う必要があります。

      パラメーター:
      beanName - Bean の名前
      singletonObject - 既存のシングルトンオブジェクト
      関連事項:
    • addSingletonCallback

      void addSingletonCallback(StringSE beanName, ConsumerSE<ObjectSE> singletonConsumer)
      指定されたシングルトンが Bean レジストリで使用可能になったときにトリガーされるコールバックを追加します。
      パラメーター:
      beanName - Bean の名前
      singletonConsumer - 新しく登録 / 作成されたシングルトンインスタンスの可用性に反応するためのコールバック (指定されたシングルトンインスタンス自体を変更するためではなく、Bean が他の呼び出し元によってアクティブに使用される前のフォローアップ手順を目的としています。)
      導入:
      6.2
    • getSingleton

      @Nullable ObjectSE getSingleton(StringSE beanName)
      指定された名前で登録された(生の)シングルトンオブジェクトを返します。

      すでにインスタンス化されているシングルトンのみをチェックします。まだインスタンス化されていないシングルトン Bean 定義のオブジェクトを返しません。

      このメソッドの主な目的は、手動で登録されたシングルトンにアクセスすることです(registerSingleton(java.lang.String, java.lang.Object) を参照)。また、すでに作成されている Bean 定義によって定義されたシングルトンにそのままのメソッドでアクセスするためにも使用できます。

      注意 : この検索方法は、FactoryBean のプレフィックスまたはエイリアスを認識しません。シングルトンインスタンスを取得する前に、最初に正規の Bean 名を解決する必要があります。

      パラメーター:
      beanName - 検索する Bean の名前
      戻り値:
      登録されたシングルトンオブジェクト。見つからない場合は null 
      関連事項:
    • containsSingleton

      boolean containsSingleton(StringSE beanName)
      このレジストリに、指定された名前のシングルトンインスタンスが含まれているかどうかを確認します。

      すでにインスタンス化されているシングルトンのみをチェックします。まだインスタンス化されていないシングルトン Bean 定義の true を返しません。

      このメソッドの主な目的は、手動で登録されたシングルトンをチェックすることです(registerSingleton(java.lang.String, java.lang.Object) を参照)。Bean 定義で定義されたシングルトンがすでに作成されているかどうかを確認するためにも使用できます。

      Bean ファクトリに特定の名前の Bean 定義が含まれているかどうかを確認するには、ListableBeanFactory の containsBeanDefinition を使用します。containsBeanDefinition と containsSingleton の両方を呼び出すと、特定の Bean ファクトリに、指定された名前のローカル Bean インスタンスが含まれているかどうかがわかります。

      BeanFactory の containsBean を使用して、ファクトリが特定の名前の Bean を知っているかどうか(手動でシングルトンインスタンスを登録したか、Bean 定義によって作成されたか)を確認し、祖先ファクトリもチェックします。

      注意 : この検索方法は、FactoryBean のプレフィックスまたはエイリアスを認識しません。シングルトンステータスを確認する前に、最初に正規の Bean 名を解決する必要があります。

      パラメーター:
      beanName - 検索する Bean の名前
      戻り値:
      この Bean ファクトリに、指定された名前のシングルトンインスタンスが含まれている場合
      関連事項:
    • getSingletonNames

      StringSE[] getSingletonNames()
      このレジストリに登録されているシングルトン Bean の名前を返します。

      すでにインスタンス化されているシングルトンのみをチェックします。まだインスタンス化されていないシングルトン Bean 定義の名前は返しません。

      このメソッドの主な目的は、手動で登録されたシングルトンをチェックすることです(registerSingleton(java.lang.String, java.lang.Object) を参照)。Bean 定義で定義されているシングルトンがすでに作成されているかどうかを確認するためにも使用できます。

      戻り値:
      文字列配列としての名前のリスト (非 null)
      関連事項:
    • getSingletonCount

      int getSingletonCount()
      このレジストリに登録されているシングルトン Bean の数を返します。

      すでにインスタンス化されているシングルトンのみをチェックします。まだインスタンス化されていないシングルトン Bean 定義はカウントしません。

      このメソッドの主な目的は、手動で登録されたシングルトンをチェックすることです(registerSingleton(java.lang.String, java.lang.Object) を参照)。すでに作成されている Bean 定義によって定義されたシングルトンの数をカウントするためにも使用できます。

      戻り値:
      シングルトン Bean の数
      関連事項:
    • getSingletonMutex

      @DeprecatedSE(since="6.2") ObjectSE getSingletonMutex()
      使用すべきではありません。
      6.2 以降、寛大なシングルトンロックを推奨 (このメソッドはロックする任意のオブジェクトを返します)
      このレジストリで使用されるシングルトンミューテックスを返します(外部のコラボレーター向け)。
      戻り値:
      ミューテックスオブジェクト (非 null)
      導入:
      4.2