|
|||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||
キーに対応するプーリングを行うためのインターフェイスです。
KeyedObjectPool は複数の型のインスタンスをプールします。 各型のオブジェクトに任意のキーを使用してアクセスすることが可能です。
以下に使用方法を示します:
|
Object obj = null; Object key = "Key"; try{ obj = pool.borrowObject(key); //...オブジェクトを使用... } catch(Exception e) { //...例外をハンドル... } finally { // 確実にオブジェクトをプールに返す if(null != obj) { pool.returnObject(key,obj); } } |
KeyedObjectPool の実装はキー毎に選択された1つのインスタンスを保持するか、
キー毎にプールするインスタンスの管理を行うことができます。
(実際には pool の Map を生成します)。
KeyedPoolableObjectFactory,
KeyedObjectPoolFactory,
ObjectPool | メソッドの概要 | |
Object |
borrowObject(Object key)
プールから指定された key に対応するインスタンスを取り出します。 |
void |
clear()
全てのプールされたインスタンスを削除し、プールをクリアします(オプショナルな処理)。 |
void |
clear(Object key)
指定された key に対応するプールされたインスタンスを削除し、指定されたプールをクリアします(オプショナルな処理)。 |
void |
close()
このプールを閉じ、関連する全てのリソースを開放します。 |
int |
getNumActive()
このプールから取得され、まだ戻されていないインスタンスの数を返します(オプショナルな処理)。 |
int |
getNumActive(Object key)
このプールから取得され、まだ戻されていない指定された key に対応するインスタンスの数を返します(オプショナルな処理)。 |
int |
getNumIdle()
現在プール内にある使用されていないインスタンスの数を返します(オプショナルな処理)。 |
int |
getNumIdle(Object key)
現在プール内にある使用されていない指定された key に対応するインスタンスの数を返します(オプショナルな処理)。 |
void |
returnObject(Object key,
Object obj)
プールにインスタンスを返します。 |
void |
setFactory(KeyedPoolableObjectFactory factory)
新たなインスタンスを生成するために使用する ファクトリ を設定します(オプショナルな処理)。
|
| メソッドの詳細 |
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 が投げられます。
key - the key to clear
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 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 - この実装がこの処理をサポートしない場合
|
|||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||