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.