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, writeReplace
copyFrom, equals, getBeanFactory, getTargetBeanName, getTargetClass, hashCode, isStatic, setTargetBeanName, setTargetClass, toString
cloneSE, finalizeSE, getClassSE, notifySE, notifyAllSE, waitSE, waitSE, waitSE
getActiveCount, getIdleCount
destroy
public void setMaxSize(int maxSize)
public int getMaxSize()
PoolingConfig
の getMaxSize
public final void setBeanFactory(BeanFactory beanFactory) throws BeansException
AbstractBeanFactoryBasedTargetSource
getBean
メソッドを使用できるように、参照を保存する必要があります。BeanFactoryAware
の setBeanFactory
AbstractPrototypeBasedTargetSource
の setBeanFactory
beanFactory
- 所有 BeanFactory(非 null
)。Bean は、ファクトリのメソッドをすぐに呼び出すことができます。BeansException
- 初期化エラーの場合 BeanInitializationException
protected abstract void createPool() throws ExceptionSE
ExceptionSE
- 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()