クラス AbstractPoolingTargetSource

実装されたすべてのインターフェース:
SerializableSEPoolingConfigTargetClassAwareTargetSourceAwareBeanFactoryAwareDisposableBean
既知の直属サブクラス
CommonsPool2TargetSource

public abstract class AbstractPoolingTargetSource extends AbstractPrototypeBasedTargetSource implements PoolingConfig, DisposableBean
ターゲットインスタンスのプールを維持する TargetSource 実装をプールし、メソッドを呼び出すたびにプールからターゲットオブジェクトを取得および解放するための抽象基本クラス。この抽象基本クラスは、具体的なプーリング技術から独立しています。具体的な例については、サブクラス CommonsPool2TargetSource を参照してください。

サブクラスは、選択したオブジェクトプールに基づいて getTarget() および releaseTarget(java.lang.Object) メソッドを実装する必要があります。AbstractPrototypeBasedTargetSource から継承された AbstractPrototypeBasedTargetSource.newPrototypeInstance() メソッドは、オブジェクトを作成してプールに入れるために使用できます。

サブクラスは、PoolingConfig インターフェースからいくつかの監視メソッドも実装する必要があります。getPoolingConfigMixin() メソッドは、IntroductionAdvisor を介してプロキシされたオブジェクトでこれらの統計を利用できるようにします。

このクラスは、DisposableBean インターフェースを実装して、サブクラスに DisposableBean.destroy() メソッドを実装させ、オブジェクトプールを閉じさせます。

作成者:
Rod Johnson, Juergen Hoeller
関連事項:
  • コンストラクターの詳細

    • AbstractPoolingTargetSource

      public AbstractPoolingTargetSource()
  • メソッドの詳細

    • setMaxSize

      public void setMaxSize(int maxSize)
      プールの最大サイズを設定します。デフォルトは -1 で、サイズ制限がないことを示します。
    • getMaxSize

      public int getMaxSize()
      プールの最大サイズを返します。
      次で指定:
      インターフェース PoolingConfiggetMaxSize 
    • setBeanFactory

      public final void setBeanFactory(BeanFactory beanFactory) throws BeansException
      クラスからコピーされた説明: AbstractBeanFactoryBasedTargetSource
      所有 BeanFactory を設定します。すべての呼び出しで getBean メソッドを使用できるように、参照を保存する必要があります。
      次で指定:
      インターフェース BeanFactoryAwaresetBeanFactory 
      オーバーライド:
      クラス AbstractPrototypeBasedTargetSourcesetBeanFactory 
      パラメーター:
      beanFactory - 所有 BeanFactory(非 null)。Bean は、ファクトリのメソッドをすぐに呼び出すことができます。
      例外:
      BeansException - 初期化エラーの場合
      関連事項:
    • createPool

      protected abstract void createPool() throws ExceptionSE
      プールを作成します。
      例外:
      ExceptionSE - API のプーリングに制約を課さないようにする
    • getTarget

      @Nullable public abstract ObjectSE getTarget() throws ExceptionSE
      プールからオブジェクトを取得します。
      次で指定:
      インターフェース TargetSourcegetTarget 
      戻り値:
      プールからのオブジェクト
      例外:
      ExceptionSE - プール API からのチェック済み例外を処理する必要がある場合があるため、例外シグネチャーを許容します
    • releaseTarget

      public abstract void releaseTarget(ObjectSE target) throws ExceptionSE
      指定されたオブジェクトをプールに返します。
      次で指定:
      インターフェース TargetSourcereleaseTarget 
      パラメーター:
      target - getTarget() の呼び出しを介してプールから取得されている必要があるオブジェクト
      例外:
      ExceptionSE - プーリング API が例外をスローできるようにする
      関連事項:
    • getPoolingConfigMixin

      public DefaultIntroductionAdvisor getPoolingConfigMixin()
      このオブジェクトによって維持されているプールに関する統計を公開するミックスインを提供する IntroductionAdvisor を返します。