org.apache.commons.pool.impl
クラス StackObjectPool

java.lang.Object
  拡張org.apache.commons.pool.BaseObjectPool
      拡張org.apache.commons.pool.impl.StackObjectPool
すべての実装インタフェース:
ObjectPool

public class StackObjectPool
extends BaseObjectPool
implements ObjectPool

Stack をベースにしたシンプルな ObjectPool の実装です。

A simple, {@link java.util.Stack Stack}-based {@link ObjectPool} implementation.

PoolableObjectFactory を渡されることにより、 このクラスはシンプルなインスタンスのプールを管理します。 "休止した"または未使用のインスタンスの数は制限されますが、 プールが空の場合には新たな取得要求にこたえるために新たなインスタンスが生成されます。 従ってこのクラスプールによって生成された"使用中"のインスタンスを数の制限なく持つことができますが、 不自然な制限をかけることなしに Object の再利用を行う際に非常に有用です。

Given a {@link PoolableObjectFactory}, this class will maintain a simple pool of instances. A finite number of "sleeping" or idle instances is enforced, but when the pool is empty, new instances are created to support the new load. Hence this class places no limit on the number of "active" instances created by the pool, but is quite useful for re-using Objects without introducing artificial limits.

バージョン:
$Revision: 1.1 $ $Date: 2004/02/22 11:58:26 $
作成者:
Rodney Waldhoff
翻訳者:
日置 聡
翻訳状況:
初稿(校正者募集中)
翻訳更新日:
2004/02/21

コンストラクタの概要
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
 

コンストラクタの詳細

StackObjectPool

public StackObjectPool()
ファクトリを使用せずに新たなプールを生成します。 クライアントは 取得 を行う前にあらかじめ returnObject(java.lang.Object) を使ってプールにインスタンスを登録しておく必要があります。
Create a new pool using no factory. Clients must first populate the pool using {@link #returnObject(java.lang.Object)} before they can be {@link #borrowObject borrowed}.


StackObjectPool

public StackObjectPool(int maxIdle)
ファクトリを使用せずに新たなプールを生成します。 クライアントは 取得 を行う前にあらかじめ returnObject(java.lang.Object) を使ってプールにインスタンスを登録しておく必要があります。
Create a new pool using no factory. Clients must first populate the pool using {@link #returnObject(java.lang.Object)} before they can be {@link #borrowObject borrowed}.

パラメータ:
maxIdle - プール内の"休止した状態の"インスタンスの数の上限
cap on the number of "sleeping" instances in the pool

StackObjectPool

public StackObjectPool(int maxIdle,
                       int initIdleCapacity)
ファクトリを使用せずに新たなプールを生成します。 クライアントは 取得 を行う前にあらかじめ returnObject(java.lang.Object) を使ってプールにインスタンスを登録しておく必要があります。
Create a new pool using no factory. Clients must first populate the pool using {@link #returnObject(java.lang.Object)} before they can be {@link #borrowObject borrowed}.

パラメータ:
maxIdle - プール内の"休止した状態の"インスタンスの数の上限
cap on the number of "sleeping" instances in the pool
initIdleCapacity - プールの初期サイズ (これは容量の大きさを指し、事前にプール内にインスタンスを生成するわけではありません)
initial size of the pool (this specifies the size of the container, it does not cause the pool to be pre-populated.)

StackObjectPool

public StackObjectPool(PoolableObjectFactory factory)
指定された factory を新規インスタンスの生成に使用する、新たな StackObjectPool を生成します。
Create a new StackObjectPool using the specified factory to create new instances.

パラメータ:
factory - プールで使用される PoolableObjectFactory
the {@link PoolableObjectFactory} used to populate the pool

StackObjectPool

public StackObjectPool(PoolableObjectFactory factory,
                       int maxIdle)
指定された factory を新規インスタンスの生成に使用し、 "休止した状態の"インスタンスの数を maxIdle に制限する、新たな StackObjectPool を生成します。
Create a new SimpleObjectPool using the specified factory to create new instances, capping the number of "sleeping" instances to max

パラメータ:
factory - プールで使用される PoolableObjectFactory
the {@link PoolableObjectFactory} used to populate the pool
maxIdle - プール内の"休止した状態の"インスタンスの数の上限
cap on the number of "sleeping" instances in the pool

StackObjectPool

public StackObjectPool(PoolableObjectFactory factory,
                       int maxIdle,
                       int initIdleCapacity)
指定された factory を新規インスタンスの生成に使用し、 "休止した状態の"インスタンスの数を maxIdle に制限し、 初期化時に少なくとも initIdleCapacity 個のインスタンスを格納できる容量を確保する、新たな StackObjectPool を生成します。
Create a new SimpleObjectPool using the specified factory to create new instances, capping the number of "sleeping" instances to max, and initially allocating a container capable of containing at least init instances.

パラメータ:
factory - プールで使用される PoolableObjectFactory
the {@link PoolableObjectFactory} used to populate the pool
maxIdle - プール内の"休止した状態の"インスタンスの数の上限
cap on the number of "sleeping" instances in the pool
initIdleCapacity - プールの初期サイズ (これは容量の大きさを指し、事前にプール内にインスタンスを生成するわけではありません)
initial size of the pool (this specifies the size of the container, it does not cause the pool to be pre-populated.)
メソッドの詳細

addObject

public void addObject()
               throws Exception
オブジェクトを生成し、プール内に配置します。 addObject() はアイドル状態のオブジェクトをプール内に事前に準備する際に有用です。
Create an object, and place it into the pool. addObject() is useful for "pre-loading" a pool with idle objects.

定義:
インタフェース ObjectPool 内の addObject
オーバーライド:
クラス BaseObjectPool 内の addObject
例外:
Exception

borrowObject

public Object borrowObject()
                    throws Exception
インタフェース ObjectPool の記述:
プールからインスタンスを取り出します。 プールからインスタンスを取得したクライアントは必ず returnObject または実装クラスやサブインターフェイスのそれと関連するメソッドを使用して インスタンスをプールに返さなくてはなりません。
Obtain an instance from my pool. By contract, clients MUST return the borrowed instance using {@link #returnObject(java.lang.Object) returnObject} or a related method as defined in an implementation or sub-interface.

プール内のインスタンスが空の場合のこのメソッドの振る舞いは明示されません (各実装クラスで明示されるでしょう)。

The behaviour of this method when the pool has been exhausted is not specified (although it may be specified by implementations).

定義:
インタフェース ObjectPool 内の borrowObject
定義:
クラス BaseObjectPool 内の borrowObject
例外:
Exception

clear

public void clear()
インタフェース ObjectPool の記述:
プール内にある使用されていないオブジェクトを削除し、関連するリソースを開放します(オプショナルな処理)。
Clears any objects sitting idle in the pool, releasing any associated resources (optional operation).

定義:
インタフェース ObjectPool 内の clear
オーバーライド:
クラス BaseObjectPool 内の clear

close

public void close()
           throws Exception
インタフェース ObjectPool の記述:
このプールを閉じ、関連する全てのリソースを開放します。
Close this pool, and free any resources associated with it.

定義:
インタフェース ObjectPool 内の close
オーバーライド:
クラス BaseObjectPool 内の close
例外:
Exception

getNumActive

public int getNumActive()
インタフェース ObjectPool の記述:
現在プールから貸し出されているインスタンスの数を返します(オプショナルな処理)。
Return the number of instances currently borrowed from my pool (optional operation).

定義:
インタフェース ObjectPool 内の getNumActive
オーバーライド:
クラス BaseObjectPool 内の getNumActive

getNumIdle

public int getNumIdle()
インタフェース ObjectPool の記述:
現在プール内にある使用されていないインスタンスの数を返します(オプショナルな処理)。 これは新たなインスタンスを生成せずに 取得 することのできるオブジェクトの数を対象とします。
Return the number of instances currently idle in my pool (optional operation). This may be considered an approximation of the number of objects that can be {@link #borrowObject borrowed} without creating any new instances.

定義:
インタフェース ObjectPool 内の getNumIdle
オーバーライド:
クラス BaseObjectPool 内の getNumIdle

invalidateObject

public void invalidateObject(Object obj)
                      throws Exception
インタフェース ObjectPool の記述:
プール内で管理されるオブジェクトを無効にします。 対象となる objborrowObject か、実装クラスに定義された関連するメソッドか、 key を用いたサブインターフェイスの同等の機能を持つメソッドによって取得されたものでなくてはなりません。
Invalidates an object from the pool By contract, obj MUST have been obtained using {@link #borrowObject() borrowObject} or a related method as defined in an implementation or sub-interface.

このメソッドはプールから取得されたオブジェクトが(例外等で)無効であるとみなされた場合に使用するべきです。 オブジェクト取得の前、もしくは戻された後にオブジェクトの評価を行う場合には PoolableObjectFactory.validateObject(java.lang.Object) を使用して下さい。

This method should be used when an object that has been borrowed is determined (due to an exception or other problem) to be invalid. If the connection should be validated before or after borrowing, then the {@link PoolableObjectFactory#validateObject} method should be used instead.

定義:
インタフェース ObjectPool 内の invalidateObject
定義:
クラス BaseObjectPool 内の invalidateObject
例外:
Exception

returnObject

public void returnObject(Object obj)
                  throws Exception
インタフェース ObjectPool の記述:
プールにインスタンスを返します。 プールに返される obj は必ず borrowObject または実装クラスやサブインターフェイスのそれと関連するメソッドを使用して 取得されたインスタンスでなくてはなりません。
Return an instance to my pool. By contract, obj MUST have been obtained using {@link #borrowObject() borrowObject} or a related method as defined in an implementation or sub-interface.

定義:
インタフェース ObjectPool 内の returnObject
定義:
クラス BaseObjectPool 内の returnObject
例外:
Exception

setFactory

public void setFactory(PoolableObjectFactory factory)
                throws IllegalStateException
インタフェース ObjectPool の記述:
新たなインスタンスを生成するために使用する factory を設定します(オプショナルな処理)。
Sets the {@link PoolableObjectFactory ファクトリ} I use to create new instances (optional operation).

定義:
インタフェース ObjectPool 内の setFactory
オーバーライド:
クラス BaseObjectPool 内の setFactory
例外:
IllegalStateException


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