クラス CommonsPool2TargetSource
java.lang.ObjectSE
org.springframework.aop.target.AbstractBeanFactoryBasedTargetSource
org.springframework.aop.target.AbstractPrototypeBasedTargetSource
org.springframework.aop.target.AbstractPoolingTargetSource
org.springframework.aop.target.CommonsPool2TargetSource
- 実装されたすべてのインターフェース:
SerializableSE
、org.apache.commons.pool2.PooledObjectFactory<ObjectSE>
、PoolingConfig
、TargetClassAware
、TargetSource
、Aware
、BeanFactoryAware
、DisposableBean
public class CommonsPool2TargetSource
extends AbstractPoolingTargetSource
implements org.apache.commons.pool2.PooledObjectFactory<ObjectSE>
構成可能な Apache Commons2 プールにオブジェクトを保持する
TargetSource
実装。 デフォルトでは、GenericObjectPool
のインスタンスが作成されます。サブクラスは、createObjectPool()
メソッドをオーバーライドすることにより、使用される ObjectPool
の型を変更する場合があります。
Commons Pool GenericObjectPool
クラスの構成プロパティを反映した多くの構成プロパティを提供します。これらのプロパティは、構築中に GenericObjectPool
に渡されます。このクラスのサブクラスを作成して ObjectPool
実装型を変更する場合は、選択した実装に関連する構成プロパティの値を渡します。
このクラスで使用される PoolableObjectFactory
の実装は意味のある検証を実装しないため、testOnBorrow
、testOnReturn
、testWhileIdle
プロパティは明示的にミラーリングされません。公開されているすべての Commons Pool プロパティは、対応する Commons Pool のデフォルトを使用します。
Spring 4.2 以降、Apache Commons プール 2.4 と互換性があります。
- 導入:
- 4.2
- 作成者:
- Rod Johnson, Rob Harrop, Juergen Hoeller, Stephane Nicoll, Kazuki Shimizu
- 関連事項:
フィールドサマリー
クラス org.springframework.aop.target.AbstractBeanFactoryBasedTargetSource から継承されたフィールド
logger
コンストラクターのサマリー
メソッドのサマリー
修飾子と型メソッド説明void
activateObject
(org.apache.commons.pool2.PooledObject<ObjectSE> p) protected org.apache.commons.pool2.ObjectPool
サブクラスは、特定の Commons プールを返したい場合にこれをオーバーライドできます。protected final void
ObjectPool インスタンスを作成して保持します。void
destroy()
このオブジェクトを破棄するときに、基になるObjectPool
を閉じます。void
destroyObject
(org.apache.commons.pool2.PooledObject<ObjectSE> p) int
プール内のアクティブなオブジェクトの数を返します。int
プール内のアイドルオブジェクトの数を返します。int
プール内のアイドルオブジェクトの最大数を返します。long
プールからオブジェクトをフェッチするための最大待機時間を返します。long
アイドル状態のオブジェクトがプールに留まることができる最小時間を返します。int
プール内のアイドルオブジェクトの最小数を返します。ObjectPool
からオブジェクトを借用します。long
アイドルオブジェクトをチェックするエビクション実行間の時間を返します。boolean
プールが使い果たされたときに呼び出しをブロックするかどうかを指定します。org.apache.commons.pool2.PooledObject<ObjectSE>
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) クラス org.springframework.aop.target.AbstractPoolingTargetSource から継承されたメソッド
getMaxSize, getPoolingConfigMixin, setBeanFactory, setMaxSize
クラス org.springframework.aop.target.AbstractPrototypeBasedTargetSource から継承されたメソッド
destroyPrototypeInstance, newPrototypeInstance, writeReplace
クラス org.springframework.aop.target.AbstractBeanFactoryBasedTargetSource から継承されたメソッド
copyFrom, equals, getBeanFactory, getTargetBeanName, getTargetClass, hashCode, setTargetBeanName, setTargetClass, toString
クラス java.lang.ObjectSE から継承されたメソッド
clone, finalize, getClass, notify, notifyAll, wait, waitSE, waitSE
インターフェース org.apache.commons.pool2.PooledObjectFactory から継承されたメソッド
destroyObject
インターフェース org.springframework.aop.TargetSource から継承されたメソッド
isStatic
コンストラクターの詳細
CommonsPool2TargetSource
public CommonsPool2TargetSource()デフォルト設定で CommonsPoolTargetSource を作成します。プールのデフォルトの最大サイズは 8 です。- 関連事項:
AbstractPoolingTargetSource.setMaxSize(int)
GenericObjectPoolConfig.setMaxTotal(int)
メソッドの詳細
setMaxIdle
public void setMaxIdle(int maxIdle) プール内のアイドルオブジェクトの最大数を設定します。デフォルトは 8 です。- 関連事項:
GenericObjectPool.setMaxIdle(int)
getMaxIdle
public int getMaxIdle()プール内のアイドルオブジェクトの最大数を返します。setMinIdle
public void setMinIdle(int minIdle) プール内のアイドルオブジェクトの最小数を設定します。デフォルトは 0 です。- 関連事項:
GenericObjectPool.setMinIdle(int)
getMinIdle
public int getMinIdle()プール内のアイドルオブジェクトの最小数を返します。setMaxWait
public void setMaxWait(long maxWait) プールからオブジェクトをフェッチするための最大待機時間を設定します。デフォルトは -1 で、永久に待機します。- 関連事項:
BaseGenericObjectPool.setMaxWaitMillis(long)
getMaxWait
public long getMaxWait()プールからオブジェクトをフェッチするための最大待機時間を返します。setTimeBetweenEvictionRunsMillis
public void setTimeBetweenEvictionRunsMillis(long timeBetweenEvictionRunsMillis) アイドル状態のオブジェクトをチェックするエビクションの実行間隔を設定します。これらのオブジェクトは、アイドル状態が長すぎるか、無効になったかを確認します。デフォルトは -1 で、エビクションは実行されません。- 関連事項:
BaseGenericObjectPool.setTimeBetweenEvictionRunsMillis(long)
getTimeBetweenEvictionRunsMillis
public long getTimeBetweenEvictionRunsMillis()アイドルオブジェクトをチェックするエビクション実行間の時間を返します。setMinEvictableIdleTimeMillis
public void setMinEvictableIdleTimeMillis(long minEvictableIdleTimeMillis) アイドル状態のオブジェクトがエビクションの対象になる前にプールにとどまることができる最小時間を設定します。デフォルトは 1800000 (30 分です)。この設定を有効にするには、追い出しを実行する必要があることに注意してください。
- 関連事項:
setTimeBetweenEvictionRunsMillis(long)
BaseGenericObjectPool.setMinEvictableIdleTimeMillis(long)
getMinEvictableIdleTimeMillis
public long getMinEvictableIdleTimeMillis()アイドル状態のオブジェクトがプールに留まることができる最小時間を返します。setBlockWhenExhausted
public void setBlockWhenExhausted(boolean blockWhenExhausted) プールが使い果たされたときに呼び出しをブロックするかどうかを設定します。isBlockWhenExhausted
public boolean isBlockWhenExhausted()プールが使い果たされたときに呼び出しをブロックするかどうかを指定します。createPool
protected final void createPool()ObjectPool インスタンスを作成して保持します。- 次で指定:
- クラス
AbstractPoolingTargetSource
のcreatePool
- 関連事項:
createObjectPool
protected org.apache.commons.pool2.ObjectPool createObjectPool()サブクラスは、特定の Commons プールを返したい場合にこれをオーバーライドできます。ここでプールに構成プロパティを適用する必要があります。デフォルトは、指定されたプールサイズの GenericObjectPool インスタンスです。
- 戻り値:
- 空の Commons
ObjectPool
。 - 関連事項:
GenericObjectPool
AbstractPoolingTargetSource.setMaxSize(int)
getTarget
ObjectPool
からオブジェクトを借用します。- 次で指定:
- インターフェース
TargetSource
のgetTarget
- 次で指定:
- クラス
AbstractPoolingTargetSource
のgetTarget
- 戻り値:
- プールからのオブジェクト
- 例外:
ExceptionSE
- プール API からのチェック済み例外を処理する必要がある場合があるため、例外シグネチャーを許容します
releaseTarget
指定されたオブジェクトを基本となるObjectPool
に返します。- 次で指定:
- インターフェース
TargetSource
のreleaseTarget
- 次で指定:
- クラス
AbstractPoolingTargetSource
のreleaseTarget
- パラメーター:
target
-getTarget()
の呼び出しを介してプールから取得されている必要があるオブジェクト- 例外:
ExceptionSE
- プーリング API が例外をスローできるようにする- 関連事項:
getActiveCount
インターフェースからコピーされた説明:PoolingConfig
プール内のアクティブなオブジェクトの数を返します。- 次で指定:
- インターフェース
PoolingConfig
のgetActiveCount
- 例外:
UnsupportedOperationExceptionSE
- プールでサポートされていない場合
getIdleCount
インターフェースからコピーされた説明:PoolingConfig
プール内のアイドルオブジェクトの数を返します。- 次で指定:
- インターフェース
PoolingConfig
のgetIdleCount
- 例外:
UnsupportedOperationExceptionSE
- プールでサポートされていない場合
destroy
このオブジェクトを破棄するときに、基になるObjectPool
を閉じます。- 次で指定:
- インターフェース
DisposableBean
のdestroy
- 例外:
ExceptionSE
- シャットダウンエラーの場合。例外はログに記録されますが、再スローされず、他の Bean もリソースを解放できます。
makeObject
- 次で指定:
- インターフェース
org.apache.commons.pool2.PooledObjectFactory<ObjectSE>
のmakeObject
- 例外:
ExceptionSE
destroyObject
- 次で指定:
- インターフェース
org.apache.commons.pool2.PooledObjectFactory<ObjectSE>
のdestroyObject
- 例外:
ExceptionSE
validateObject
- 次で指定:
- インターフェース
org.apache.commons.pool2.PooledObjectFactory<ObjectSE>
のvalidateObject
activateObject
- 次で指定:
- インターフェース
org.apache.commons.pool2.PooledObjectFactory<ObjectSE>
のactivateObject
- 例外:
ExceptionSE
passivateObject
- 次で指定:
- インターフェース
org.apache.commons.pool2.PooledObjectFactory<ObjectSE>
のpassivateObject
- 例外:
ExceptionSE