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, setMaxSize
destroyPrototypeInstance, newPrototypeInstance, writeReplace
copyFrom, equals, getBeanFactory, getTargetBeanName, getTargetClass, hashCode, isStatic, setTargetBeanName, setTargetClass, toString
cloneSE, finalizeSE, getClassSE, notifySE, notifyAllSE, waitSE, waitSE, waitSE
public 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 UnsupportedOperationExceptionSE
PoolingConfig
PoolingConfig
の getActiveCount
UnsupportedOperationExceptionSE
- プールでサポートされていない場合 public int getIdleCount() throws UnsupportedOperationExceptionSE
PoolingConfig
PoolingConfig
の getIdleCount
UnsupportedOperationExceptionSE
- プールでサポートされていない場合 public void destroy() throws ExceptionSE
ObjectPool
を閉じます。DisposableBean
の destroy
ExceptionSE
- シャットダウンエラーの場合。例外はログに記録されますが、再スローされず、他の Bean もリソースを解放できます。public org.apache.commons.pool2.PooledObject<ObjectSE> makeObject() throws ExceptionSE
org.apache.commons.pool2.PooledObjectFactory<ObjectSE>
の makeObject
ExceptionSE
public void destroyObject(org.apache.commons.pool2.PooledObject<ObjectSE> p) throws ExceptionSE
org.apache.commons.pool2.PooledObjectFactory<ObjectSE>
の destroyObject
ExceptionSE
public 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
ExceptionSE
public void passivateObject(org.apache.commons.pool2.PooledObject<ObjectSE> p) throws ExceptionSE
org.apache.commons.pool2.PooledObjectFactory<ObjectSE>
の passivateObject
ExceptionSE