|
|||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||
java.lang.Objectorg.apache.commons.pool.BaseObjectPool
org.apache.commons.pool.impl.StackObjectPool
Stack をベースにしたシンプルな ObjectPool の実装です。
PoolableObjectFactory を渡されることにより、
このクラスはシンプルなインスタンスのプールを管理します。
"休止した"または未使用のインスタンスの数は制限されますが、
プールが空の場合には新たな取得要求にこたえるために新たなインスタンスが生成されます。
従ってこのクラスプールによって生成された"使用中"のインスタンスを数の制限なく持つことができますが、
不自然な制限をかけることなしに Object の再利用を行う際に非常に有用です。
| コンストラクタの概要 | |
StackObjectPool()
ファクトリを使用せずに新たなプールを生成します。 |
|
StackObjectPool(int maxIdle)
ファクトリを使用せずに新たなプールを生成します。 |
|
StackObjectPool(int maxIdle,
int initIdleCapacity)
ファクトリを使用せずに新たなプールを生成します。 |
|
StackObjectPool(PoolableObjectFactory factory)
指定された factory を新規インスタンスの生成に使用する、新たな StackObjectPool を生成します。 |
|
StackObjectPool(PoolableObjectFactory factory,
int maxIdle)
指定された factory を新規インスタンスの生成に使用し、 "休止した状態の"インスタンスの数を maxIdle に制限する、新たな StackObjectPool を生成します。 |
|
StackObjectPool(PoolableObjectFactory factory,
int maxIdle,
int initIdleCapacity)
指定された factory を新規インスタンスの生成に使用し、 "休止した状態の"インスタンスの数を maxIdle に制限し、 初期化時に少なくとも initIdleCapacity 個のインスタンスを格納できる容量を確保する、新たな StackObjectPool を生成します。 |
|
| メソッドの概要 | |
void |
addObject()
オブジェクトを生成し、プール内に配置します。 |
Object |
borrowObject()
プールからインスタンスを取り出します。 |
void |
clear()
プール内にある使用されていないオブジェクトを削除し、関連するリソースを開放します(オプショナルな処理)。 |
void |
close()
このプールを閉じ、関連する全てのリソースを開放します。 |
int |
getNumActive()
現在プールから貸し出されているインスタンスの数を返します(オプショナルな処理)。 |
int |
getNumIdle()
現在プール内にある使用されていないインスタンスの数を返します(オプショナルな処理)。 |
void |
invalidateObject(Object obj)
プール内で管理されるオブジェクトを無効にします。 |
void |
returnObject(Object obj)
プールにインスタンスを返します。 |
void |
setFactory(PoolableObjectFactory factory)
新たなインスタンスを生成するために使用する factory を設定します(オプショナルな処理)。
|
| クラス java.lang.Object から継承したメソッド |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| コンストラクタの詳細 |
public StackObjectPool()
取得 を行う前にあらかじめ
returnObject(java.lang.Object)
を使ってプールにインスタンスを登録しておく必要があります。
public StackObjectPool(int maxIdle)
取得 を行う前にあらかじめ
returnObject(java.lang.Object)
を使ってプールにインスタンスを登録しておく必要があります。
maxIdle - プール内の"休止した状態の"インスタンスの数の上限
public StackObjectPool(int maxIdle,
int initIdleCapacity)
取得 を行う前にあらかじめ
returnObject(java.lang.Object)
を使ってプールにインスタンスを登録しておく必要があります。
maxIdle - プール内の"休止した状態の"インスタンスの数の上限
initIdleCapacity - プールの初期サイズ (これは容量の大きさを指し、事前にプール内にインスタンスを生成するわけではありません)
public StackObjectPool(PoolableObjectFactory factory)
factory - プールで使用される PoolableObjectFactory
public StackObjectPool(PoolableObjectFactory factory,
int maxIdle)
factory - プールで使用される PoolableObjectFactory
maxIdle - プール内の"休止した状態の"インスタンスの数の上限
public StackObjectPool(PoolableObjectFactory factory,
int maxIdle,
int initIdleCapacity)
factory - プールで使用される PoolableObjectFactory
maxIdle - プール内の"休止した状態の"インスタンスの数の上限
initIdleCapacity - プールの初期サイズ (これは容量の大きさを指し、事前にプール内にインスタンスを生成するわけではありません)
| メソッドの詳細 |
public void addObject()
throws Exception
ObjectPool 内の addObjectBaseObjectPool 内の addObjectException
public Object borrowObject()
throws Exception
ObjectPool の記述: returnObject
または実装クラスやサブインターフェイスのそれと関連するメソッドを使用して
インスタンスをプールに返さなくてはなりません。
プール内のインスタンスが空の場合のこのメソッドの振る舞いは明示されません (各実装クラスで明示されるでしょう)。
ObjectPool 内の borrowObjectBaseObjectPool 内の borrowObjectExceptionpublic void clear()
ObjectPool の記述:
ObjectPool 内の clearBaseObjectPool 内の clear
public void close()
throws Exception
ObjectPool の記述:
ObjectPool 内の closeBaseObjectPool 内の closeExceptionpublic int getNumActive()
ObjectPool の記述:
ObjectPool 内の getNumActiveBaseObjectPool 内の getNumActivepublic int getNumIdle()
ObjectPool の記述: 取得
することのできるオブジェクトの数を対象とします。
ObjectPool 内の getNumIdleBaseObjectPool 内の getNumIdle
public void invalidateObject(Object obj)
throws Exception
ObjectPool の記述: borrowObject
か、実装クラスに定義された関連するメソッドか、 key
を用いたサブインターフェイスの同等の機能を持つメソッドによって取得されたものでなくてはなりません。
このメソッドはプールから取得されたオブジェクトが(例外等で)無効であるとみなされた場合に使用するべきです。
オブジェクト取得の前、もしくは戻された後にオブジェクトの評価を行う場合には
PoolableObjectFactory.validateObject(java.lang.Object) を使用して下さい。
ObjectPool 内の invalidateObjectBaseObjectPool 内の invalidateObjectException
public void returnObject(Object obj)
throws Exception
ObjectPool の記述: borrowObject
または実装クラスやサブインターフェイスのそれと関連するメソッドを使用して
取得されたインスタンスでなくてはなりません。
ObjectPool 内の returnObjectBaseObjectPool 内の returnObjectException
public void setFactory(PoolableObjectFactory factory)
throws IllegalStateException
ObjectPool の記述: factory を設定します(オプショナルな処理)。
ObjectPool 内の setFactoryBaseObjectPool 内の setFactoryIllegalStateException
|
|||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||