org.apache.commons.pool
インタフェース KeyedObjectPool

既知の実装クラスの一覧:
BaseKeyedObjectPool, GenericKeyedObjectPool, StackKeyedObjectPool

public interface KeyedObjectPool

キーに対応するプーリングを行うためのインターフェイスです。

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つのインスタンスを保持するか、 キー毎にプールするインスタンスの管理を行うことができます。 (実際には poolMap を生成します)。

バージョン:
$Revision: 1.1.1.1 $ $Date: 2004/02/13 10:02:01 $
作成者:
Rodney Waldhoff
関連項目:
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)
          新たなインスタンスを生成するために使用する ファクトリ を設定します(オプショナルな処理)。
 

メソッドの詳細

borrowObject

public Object borrowObject(Object key)
                    throws Exception
プールから指定された key に対応するインスタンスを取り出します。 プールからインスタンスを取得したクライアントは必ず returnObject または実装クラスやサブインターフェイスのそれと関連するメソッドを使用して インスタンスをプールに返さなくてはなりません。 また、 key には返すインスタンスを取得した際と同じ値を設定しなくてはなりません。

パラメータ:
key - オブジェクトを取得する際に使用するキー
戻り値:
プールから取得したインスタンス
例外:
Exception

clear

public void clear()
           throws Exception,
                  UnsupportedOperationException
全てのプールされたインスタンスを削除し、プールをクリアします(オプショナルな処理)。 このプールが削除の機能を持たない場合 UnsupportedOperationException が投げられます。

例外:
UnsupportedOperationException - この実装がこの処理をサポートしない場合
Exception

clear

public void clear(Object key)
           throws Exception,
                  UnsupportedOperationException
指定された key に対応するプールされたインスタンスを削除し、指定されたプールをクリアします(オプショナルな処理)。 このプールが削除の機能を持たない場合 UnsupportedOperationException が投げられます。

パラメータ:
key - the key to clear
例外:
UnsupportedOperationException - この実装がこの処理をサポートしない場合
Exception

close

public void close()
           throws Exception
このプールを閉じ、関連する全てのリソースを開放します。

例外:
Exception

getNumActive

public int getNumActive()
                 throws UnsupportedOperationException
このプールから取得され、まだ戻されていないインスタンスの数を返します(オプショナルな処理)。 この情報を取得する機能を持たない場合 UnsupportedOperationException が投げられます。

戻り値:
現在プールから貸し出されているインスタンスの数
例外:
UnsupportedOperationException - この実装がこの処理をサポートしない場合

getNumActive

public int getNumActive(Object key)
                 throws UnsupportedOperationException
このプールから取得され、まだ戻されていない指定された key に対応するインスタンスの数を返します(オプショナルな処理)。 この情報を取得する機能を持たない場合 UnsupportedOperationException が投げられます。

パラメータ:
key - 対象となるキー
戻り値:
現在プールから貸し出されている指定された key に対応するインスタンスの数
例外:
UnsupportedOperationException - この実装がこの処理をサポートしない場合

getNumIdle

public int getNumIdle()
               throws UnsupportedOperationException
現在プール内にある使用されていないインスタンスの数を返します(オプショナルな処理)。 この情報を取得する機能を持たない場合 UnsupportedOperationException が投げられます。

戻り値:
プール内にある使用されていないインスタンスの数
例外:
UnsupportedOperationException - この実装がこの処理をサポートしない場合

getNumIdle

public int getNumIdle(Object key)
               throws UnsupportedOperationException
現在プール内にある使用されていない指定された key に対応するインスタンスの数を返します(オプショナルな処理)。 この情報を取得する機能を持たない場合 UnsupportedOperationException が投げられます。

パラメータ:
key - 対象となるキー
戻り値:
プール内にある使用されていない指定された key に対応するインスタンスの数
例外:
UnsupportedOperationException - この実装がこの処理をサポートしない場合

returnObject

public void returnObject(Object key,
                         Object obj)
                  throws Exception
プールにインスタンスを返します。 プールに返される obj は必ず borrowObject または実装クラスやサブインターフェイスのそれと関連するメソッドを使用して 取得されたインスタンスでなくてはなりません。 また、 key には返すインスタンスを取得した際と同じ値を設定しなくてはなりません。

パラメータ:
key - オブジェクトを取得する際に使用するキー
obj - プールに返す borrowObject(java.lang.Object) にて取得されたインスタンス
例外:
Exception

setFactory

public void setFactory(KeyedPoolableObjectFactory factory)
                throws IllegalStateException,
                       UnsupportedOperationException
新たなインスタンスを生成するために使用する ファクトリ を設定します(オプショナルな処理)。

パラメータ:
factory - 新たなインスタンスを生成するために使用する KeyedPoolableObjectFactory
例外:
IllegalStateException - ファクトリを設定できる状態でない場合
UnsupportedOperationException - この実装がこの処理をサポートしない場合


このドキュメントは、Ja-Jakartaにより訳されました。 コメントがある場合は report@jajakarta.orgまでお願いします。
Translated into Japanese by jajakarta.org. The original page is here.
Copyright (c) 2002-2003 - Apache Software Foundation