public class CommonsPool2TargetSource extends AbstractPoolingTargetSource implements org.apache.commons.pool2.PooledObjectFactory<ObjectSE>
TargetSource 実装。 デフォルトでは、GenericObjectPool のインスタンスが作成されます。サブクラスは、createObjectPool() メソッドをオーバーライドすることにより、使用される ObjectPool の型を変更する場合があります。
Commons Pool GenericObjectPool クラスの構成プロパティを反映した多くの構成プロパティを提供します。これらのプロパティは、構築中に GenericObjectPool に渡されます。このクラスのサブクラスを作成して ObjectPool 実装型を変更する場合は、選択した実装に関連する構成プロパティの値を渡します。
このクラスで使用される PoolableObjectFactory の実装は意味のある検証を実装しないため、testOnBorrow、testOnReturn、testWhileIdle プロパティは明示的にミラーリングされません。公開されているすべての Commons Pool プロパティは、対応する Commons Pool のデフォルトを使用します。
Spring 4.2 以降、Apache Commons プール 2.4 と互換性があります。
GenericObjectPool, createObjectPool(), AbstractPoolingTargetSource.setMaxSize(int), setMaxIdle(int), setMinIdle(int), setMaxWait(long), setTimeBetweenEvictionRunsMillis(long), setMinEvictableIdleTimeMillis(long), 連載形式 logger| コンストラクターと説明 |
|---|
CommonsPool2TargetSource() デフォルト設定で CommonsPoolTargetSource を作成します。 |
| 修飾子と型 | メソッドと説明 |
|---|---|
void | activateObject(org.apache.commons.pool2.PooledObject<ObjectSE> p) |
protected org.apache.commons.pool2.ObjectPool | createObjectPool() サブクラスは、特定の Commons プールを返したい場合にこれをオーバーライドできます。 |
protected void | createPool()ObjectPool インスタンスを作成して保持します。 |
void | destroy() このオブジェクトを破棄するときに、基になる ObjectPool を閉じます。 |
void | destroyObject(org.apache.commons.pool2.PooledObject<ObjectSE> p) |
int | getActiveCount() プール内のアクティブなオブジェクトの数を返します。 |
int | getIdleCount() プール内のアイドルオブジェクトの数を返します。 |
int | getMaxIdle() プール内のアイドルオブジェクトの最大数を返します。 |
long | getMaxWait() プールからオブジェクトをフェッチするための最大待機時間を返します。 |
long | getMinEvictableIdleTimeMillis() アイドル状態のオブジェクトがプールに留まることができる最小時間を返します。 |
int | getMinIdle() プール内のアイドルオブジェクトの最小数を返します。 |
ObjectSE | getTarget()ObjectPool からオブジェクトを借用します。 |
long | getTimeBetweenEvictionRunsMillis() アイドルオブジェクトをチェックするエビクション実行間の時間を返します。 |
boolean | isBlockWhenExhausted() プールが使い果たされたときに呼び出しをブロックするかどうかを指定します。 |
org.apache.commons.pool2.PooledObject<ObjectSE> | makeObject() |
void | passivateObject(org.apache.commons.pool2.PooledObject<ObjectSE> p) |
void | releaseTarget(ObjectSE target) 指定されたオブジェクトを基本となる ObjectPool に返します。 |
void | setBlockWhenExhausted(boolean blockWhenExhausted) プールが使い果たされたときに呼び出しをブロックするかどうかを設定します。 |
void | setMaxIdle(int maxIdle) プール内のアイドルオブジェクトの最大数を設定します。 |
void | setMaxWait(long maxWait) プールからオブジェクトをフェッチするための最大待機時間を設定します。 |
void | setMinEvictableIdleTimeMillis(long minEvictableIdleTimeMillis) アイドル状態のオブジェクトがエビクションの対象になる前にプールにとどまることができる最小時間を設定します。 |
void | setMinIdle(int minIdle) プール内のアイドルオブジェクトの最小数を設定します。 |
void | setTimeBetweenEvictionRunsMillis(long timeBetweenEvictionRunsMillis) アイドル状態のオブジェクトが長時間アイドル状態であるか無効であるかをチェックする、エビクション実行の間隔を設定します。 |
boolean | validateObject(org.apache.commons.pool2.PooledObject<ObjectSE> p) |
getMaxSize, getPoolingConfigMixin, setBeanFactory, setMaxSizedestroyPrototypeInstance, newPrototypeInstance, writeReplacecopyFrom, equals, getBeanFactory, getTargetBeanName, getTargetClass, hashCode, isStatic, setTargetBeanName, setTargetClass, toStringcloneSE, finalizeSE, getClassSE, notifySE, notifyAllSE, waitSE, waitSE, waitSEpublic CommonsPool2TargetSource()
AbstractPoolingTargetSource.setMaxSize(int), GenericObjectPoolConfig.setMaxTotal(int)public void setMaxIdle(int maxIdle)
GenericObjectPool.setMaxIdle(int)public int getMaxIdle()
public void setMinIdle(int minIdle)
GenericObjectPool.setMinIdle(int)public int getMinIdle()
public void setMaxWait(long maxWait)
BaseGenericObjectPool.setMaxWaitMillis(long)public long getMaxWait()
public void setTimeBetweenEvictionRunsMillis(long timeBetweenEvictionRunsMillis)
BaseGenericObjectPool.setTimeBetweenEvictionRunsMillis(long)public long getTimeBetweenEvictionRunsMillis()
public void setMinEvictableIdleTimeMillis(long minEvictableIdleTimeMillis)
この設定を有効にするには、追い出しを実行する必要があることに注意してください。
setTimeBetweenEvictionRunsMillis(long), BaseGenericObjectPool.setMinEvictableIdleTimeMillis(long)public long getMinEvictableIdleTimeMillis()
public void setBlockWhenExhausted(boolean blockWhenExhausted)
public boolean isBlockWhenExhausted()
protected final void createPool()
AbstractPoolingTargetSource の createPool createObjectPool()protected org.apache.commons.pool2.ObjectPool createObjectPool()
デフォルトは、指定されたプールサイズの GenericObjectPool インスタンスです。
ObjectPool。GenericObjectPool, AbstractPoolingTargetSource.setMaxSize(int)public ObjectSE getTarget() throws ExceptionSE
ObjectPool からオブジェクトを借用します。TargetSource の getTarget AbstractPoolingTargetSource の getTarget ExceptionSE - プール API からのチェック済み例外を処理する必要がある場合があるため、例外シグネチャーを許容します public void releaseTarget(ObjectSE target) throws ExceptionSE
ObjectPool に返します。TargetSource の releaseTarget AbstractPoolingTargetSource の releaseTarget target - getTarget() の呼び出しを介してプールから取得されている必要があるオブジェクト ExceptionSE - プーリング API が例外をスローできるようにする AbstractPoolingTargetSource.getTarget()public int getActiveCount()
throws UnsupportedOperationExceptionSEPoolingConfigPoolingConfig の getActiveCount UnsupportedOperationExceptionSE - プールでサポートされていない場合 public int getIdleCount()
throws UnsupportedOperationExceptionSEPoolingConfigPoolingConfig の getIdleCount UnsupportedOperationExceptionSE - プールでサポートされていない場合 public void destroy()
throws ExceptionSEObjectPool を閉じます。DisposableBean の destroy ExceptionSE - シャットダウンエラーの場合。例外はログに記録されますが、再スローされず、他の Bean もリソースを解放できます。public org.apache.commons.pool2.PooledObject<ObjectSE> makeObject() throws ExceptionSE
org.apache.commons.pool2.PooledObjectFactory<ObjectSE> の makeObject ExceptionSEpublic void destroyObject(org.apache.commons.pool2.PooledObject<ObjectSE> p) throws ExceptionSE
org.apache.commons.pool2.PooledObjectFactory<ObjectSE> の destroyObject ExceptionSEpublic boolean validateObject(org.apache.commons.pool2.PooledObject<ObjectSE> p)
org.apache.commons.pool2.PooledObjectFactory<ObjectSE> の validateObject public void activateObject(org.apache.commons.pool2.PooledObject<ObjectSE> p) throws ExceptionSE
org.apache.commons.pool2.PooledObjectFactory<ObjectSE> の activateObject ExceptionSEpublic void passivateObject(org.apache.commons.pool2.PooledObject<ObjectSE> p) throws ExceptionSE
org.apache.commons.pool2.PooledObjectFactory<ObjectSE> の passivateObject ExceptionSE