public abstract class AbstractObjectPool
extends java.lang.Object
AbstractObjectPool は、生成された Object をプールするキャッシュクラスです。 サブクラスで、各クラスごとにオブジェクトを生成/初期化/終了するように各メソッドを コーディングしなおしてください。 サブクラスでは、Object createInstance() と、oid objectInitial( Object obj )、 void objectFinal( Object obj ) を オーバーライドしてください。
修飾子 | コンストラクタと説明 |
---|---|
protected |
AbstractObjectPool()
デフォルトコンストラクター
|
修飾子とタイプ | メソッドと説明 |
---|---|
boolean |
clear()
すべての要素を オブジェクトプールから削除します。
|
protected abstract java.lang.Object |
createInstance()
具体的に新しいインスタンスを生成するメソッド。
|
protected void |
init(int minsize,
int maxsize,
boolean limit)
初期化メソッド
初期オブジェクト数、最大オブジェクト数、拡張制限を指定します。
|
protected void |
init(int minsize,
int maxsize,
boolean limit,
int limitTime)
初期化メソッド
初期オブジェクト数、初期配列数、拡張制限、オブジェクトの寿命を指定します。
|
boolean |
isEmpty()
オブジェクトプールが要素を持たないかどうかを判定します。
|
java.lang.Object |
newInstance()
キャッシュのインスタンスを返します。
|
protected void |
objectFinal(java.lang.Object obj)
オブジェクトプールから削除するときに呼ばれます。
|
protected java.lang.Object |
objectInitial(java.lang.Object obj)
オブジェクトプールに戻すとき(release するとき)に呼ばれます。
|
void |
release(java.lang.Object obj)
オブジェクトを、オブジェクトプールに戻します。
|
void |
remove(java.lang.Object obj)
オブジェクトを、オブジェクトプールから削除します。
|
int |
size()
オブジェクトプールの要素数を返します。
|
java.lang.String |
toString()
内部状況を簡易的に表現した文字列を返します。
|
protected AbstractObjectPool()
6.4.2.0 (2016/01/29) PMD refactoring. Each class should declare at least one constructor. |
protected void init(int minsize, int maxsize, boolean limit)
minsize
- 初期オブジェクト数maxsize
- 最大オブジェクト数limit
- 拡張制限(true)/無制限(false)6.3.9.0 (2015/11/06) Use block level rather than method level synchronization.(PMD) |
protected void init(int minsize, int maxsize, boolean limit, int limitTime)
init
を参照してください。
オブジェクトの寿命は、生成された時間からの経過時間(秒)だけ、キャッシュしておく
場合に使用します。
例えば、コネクション等で、長期間のプーリングがリソースを圧迫する場合や、
接続側自身が、タイマーで切断する場合など、オブジェクトの生存期間を
指定して管理する必要があります。minsize
- 初期オブジェクト数maxsize
- 初期配列数limit
- 拡張制限(true)/無制限(false)limitTime
- オブジェクトの寿命の時間制限値(秒)init( int , int , boolean )
6.3.9.0 (2015/11/06) Use block level rather than method level synchronization.(PMD) |
6.4.3.1 (2016/02/12) PMD refactoring. HashMap → ConcurrentHashMap に置き換え。 |
public java.lang.Object newInstance() throws java.util.MissingResourceException
java.util.MissingResourceException
- 拡張制限により、新しいインスタンスを生成できない場合4.0.0.1 (2007/12/03) 生成リミットチェックを厳密に行う。 |
4.0.0.1 (2007/12/03) 生成リミットエラー時に、タイムアウトをチェックする。 |
6.3.9.0 (2015/11/06) Use block level rather than method level synchronization.(PMD) |
protected abstract java.lang.Object createInstance()
public void release(java.lang.Object obj)
obj
- オブジェクトプールに戻すオブジェクト6.3.9.0 (2015/11/06) Use block level rather than method level synchronization.(PMD) |
public void remove(java.lang.Object obj)
obj
- 削除するオブジェクト6.3.9.0 (2015/11/06) Use block level rather than method level synchronization.(PMD) |
public int size()
6.3.9.0 (2015/11/06) Use block level rather than method level synchronization.(PMD) |
public boolean isEmpty()
6.3.9.0 (2015/11/06) Use block level rather than method level synchronization.(PMD) |
public boolean clear()
6.3.9.0 (2015/11/06) Use block level rather than method level synchronization.(PMD) |
protected void objectFinal(java.lang.Object obj)
obj
- 終了処理を行うオブジェクト6.3.9.0 (2015/11/06) Use block level rather than method level synchronization.(PMD) |
protected java.lang.Object objectInitial(java.lang.Object obj)
obj
- 初期処理を行うオブジェクト6.3.9.0 (2015/11/06) Use block level rather than method level synchronization.(PMD) |
public java.lang.String toString()
toString
クラス内 java.lang.Object
6.3.9.0 (2015/11/06) Use block level rather than method level synchronization.(PMD) |
Webアプリケーションフレームワーク openGionCopyright (c) 2009 The openGion Project.