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() メソッドを実装させ、オブジェクトプールを閉じさせます。
getTarget(), releaseTarget(java.lang.Object), DisposableBean.destroy(), 連載形式 logger| コンストラクターと説明 |
|---|
AbstractPoolingTargetSource() |
| 修飾子と型 | メソッドと説明 |
|---|---|
protected abstract void | createPool() プールを作成します。 |
int | getMaxSize() プールの最大サイズを返します。 |
DefaultIntroductionAdvisor | getPoolingConfigMixin() このオブジェクトによって維持されているプールに関する統計を公開するミックスインを提供する IntroductionAdvisor を返します。 |
abstract ObjectSE | getTarget() プールからオブジェクトを取得します。 |
abstract void | releaseTarget(ObjectSE target) 指定されたオブジェクトをプールに返します。 |
void | setBeanFactory(BeanFactory beanFactory) 所有 BeanFactory を設定します。 |
void | setMaxSize(int maxSize) プールの最大サイズを設定します。 |
destroyPrototypeInstance, newPrototypeInstance, writeReplacecopyFrom, equals, getBeanFactory, getTargetBeanName, getTargetClass, hashCode, isStatic, setTargetBeanName, setTargetClass, toStringcloneSE, finalizeSE, getClassSE, notifySE, notifyAllSE, waitSE, waitSE, waitSEgetActiveCount, getIdleCountdestroypublic void setMaxSize(int maxSize)
public int getMaxSize()
PoolingConfig の getMaxSize public final void setBeanFactory(BeanFactory beanFactory) throws BeansException
AbstractBeanFactoryBasedTargetSourcegetBean メソッドを使用できるように、参照を保存する必要があります。BeanFactoryAware の setBeanFactory AbstractPrototypeBasedTargetSource の setBeanFactory beanFactory - 所有 BeanFactory(非 null)。Bean は、ファクトリのメソッドをすぐに呼び出すことができます。BeansException - 初期化エラーの場合 BeanInitializationExceptionprotected abstract void createPool()
throws ExceptionSEExceptionSE - API のプーリングに制約を課さないようにする @Nullable public abstract ObjectSE getTarget() throws ExceptionSE
TargetSource の getTarget ExceptionSE - プール API からのチェック済み例外を処理する必要がある場合があるため、例外シグネチャーを許容します public abstract void releaseTarget(ObjectSE target) throws ExceptionSE
TargetSource の releaseTarget AbstractBeanFactoryBasedTargetSource の releaseTarget target - getTarget() の呼び出しを介してプールから取得されている必要があるオブジェクト ExceptionSE - プーリング API が例外をスローできるようにする getTarget()public DefaultIntroductionAdvisor getPoolingConfigMixin()