|
|||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||
キーに対応するプーリングを行うためのインターフェイスです。
KeyedObjectPool は複数の型のインスタンスをプールします。 各型のオブジェクトに任意のキーを使用してアクセスすることが可能です。
以下に使用方法を示します:
|
Object obj = null; Object key = "Key"; try{ obj = pool.borrowObject(key); //...オブジェクトを使用... //...use the object... } catch(Exception e) { //...例外をハンドル... //...handle any exceptions... } finally { // 確実にオブジェクトをプールに返す // make sure the object is returned to the pool if(null != obj) { pool.returnObject(key,obj); } } |
KeyedObjectPool の実装はキー毎に選択された1つのインスタンスを保持するか、
キー毎にプールするインスタンスの管理を行うことができます。
(実際には pool の Map を生成します)。
KeyedPoolableObjectFactory,
KeyedObjectPoolFactory,
ObjectPool | メソッドの概要 | |
void |
addObject(Object key)
自身の ファクトリまたは他の実装に依存する機能によってプール内にオブジェクトを配置します。
|
Object |
borrowObject(Object key)
プールから指定された key に対応するインスタンスを取り出します。 |
void |
clear()
全てのプールされたすべてのインスタンスを削除し、プールをクリアします(オプショナルな処理)。 |
void |
clear(Object key)
全てのプールされたインスタンスを削除し、プールをクリアします(オプショナルな処理)。 |
void |
close()
このプールを閉じ、関連する全てのリソースを開放します。 |
int |
getNumActive()
このプールから取得され、まだ戻されていないインスタンスの数を返します(オプショナルな処理)。 |
int |
getNumActive(Object key)
このプールから取得され、まだ戻されていない指定された key に対応するインスタンスの数を返します(オプショナルな処理)。 |
int |
getNumIdle()
現在プール内にある使用されていないインスタンスの数を返します(オプショナルな処理)。 |
int |
getNumIdle(Object key)
現在プール内にある使用されていない指定された key に対応するインスタンスの数を返します(オプショナルな処理)。 |
void |
invalidateObject(Object key,
Object obj)
プール内で管理されるオブジェクトを無効にします。 |
void |
returnObject(Object key,
Object obj)
プールにインスタンスを返します。 |
void |
setFactory(KeyedPoolableObjectFactory factory)
新たなインスタンスを生成するために使用する ファクトリ を設定します(オプショナルな処理)。
|
| メソッドの詳細 |
public void addObject(Object key)
throws Exception
ファクトリまたは他の実装に依存する機能によってプール内にオブジェクトを配置します。
addObject() は事前に準備されたオブジェクトをプール内に用意する際に有用です(オプショナルな処理)。
Exception
public Object borrowObject(Object key)
throws Exception
returnObject
または実装クラスやサブインターフェイスのそれと関連するメソッドを使用して
インスタンスをプールに返さなくてはなりません。
また、 key には返すインスタンスを取得した際と同じ値を設定しなくてはなりません。
key - オブジェクトを取得する際に使用するキー
Exception
public void clear()
throws Exception,
UnsupportedOperationException
UnsupportedOperationException が投げられます。
UnsupportedOperationException - この実装がこの処理をサポートしない場合
Exception
public void clear(Object key)
throws Exception,
UnsupportedOperationException
UnsupportedOperationException が投げられます。
UnsupportedOperationException - この実装がこの処理をサポートしない場合
Exception
public void close()
throws Exception
Exception
public int getNumActive()
throws UnsupportedOperationException
UnsupportedOperationException が投げられます。
UnsupportedOperationException - この実装がこの処理をサポートしない場合
public int getNumActive(Object key)
throws UnsupportedOperationException
UnsupportedOperationException が投げられます。
key - 対象となるキー
UnsupportedOperationException - この実装がこの処理をサポートしない場合
public int getNumIdle()
throws UnsupportedOperationException
UnsupportedOperationException が投げられます。
UnsupportedOperationException - この実装がこの処理をサポートしない場合
public int getNumIdle(Object key)
throws UnsupportedOperationException
UnsupportedOperationException が投げられます。
key - 対象となるキー
UnsupportedOperationException - この実装がこの処理をサポートしない場合
public void invalidateObject(Object key,
Object obj)
throws Exception
borrowObject
か、実装クラスに定義された関連するメソッドか、 key
を用いたサブインターフェイスの同等の機能を持つメソッドによって取得されたものでなくてはなりません。
このメソッドはプールから取得されたオブジェクトが(例外等で)無効であるとみなされた場合に使用するべきです。
オブジェクト取得の前、もしくは戻された後にオブジェクトの評価を行う場合には
PoolableObjectFactory.validateObject(java.lang.Object) を使用して下さい。
obj - プールから取得 されたインスタンス
Exception
public void returnObject(Object key,
Object obj)
throws Exception
borrowObject
または実装クラスやサブインターフェイスのそれと関連するメソッドを使用して
取得されたインスタンスでなくてはなりません。
また、 key には返すインスタンスを取得した際と同じ値を設定しなくてはなりません。
key - オブジェクトを取得する際に使用するキー
obj - プールに返す borrowObject(java.lang.Object) にて取得されたインスタンス
Exception
public void setFactory(KeyedPoolableObjectFactory factory)
throws IllegalStateException,
UnsupportedOperationException
ファクトリ を設定します(オプショナルな処理)。
factory - 新たなインスタンスを生成するために使用する KeyedPoolableObjectFactory
IllegalStateException - ファクトリを設定できる状態でない場合
UnsupportedOperationException - この実装がこの処理をサポートしない場合
|
|||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||