WebSphere Application Server, Version 6.0.x   
             オペレーティング・システム: AIX , HP-UX, Linux, Solaris, Windows

             目次と検索結果のパーソナライズ化

オブジェクト・プールの使用

オブジェクト・プールを使用すると、アプリケーションは新しい Java オブジェクトを繰り返し作成する必要がなくなります。ほとんどのオブジェクトは、一度作成され、使用された後、再利用することができます。オブジェクト・プールは、再利用待機中のオブジェクトのプールをサポートします。

このタスクについて

オブジェクト・プールは、JDBC 接続または Java Message Service (JMS) 接続およびセッションのプールに使用するためのものではありません。 WebSphere Application Server は、これらのタイプのオブジェクトを処理するための特別のメカニズムを提供します。これらのオブジェクト・プールは、アプリケーション定義のオブジェクトまたは基本的な Developer Kit タイプのプールのためのものです。

オブジェクト・プールを使用するには、製品管理者が管理コンソールを使用して、オブジェクト・プール・マネージャー を定義する必要があります。 複数のオブジェクト・プール・マネージャーを 1 つのアプリケーション・サーバー・セル内に作成できます。
注: オブジェクト・プール・マネージャー・サービスは、EJB コンテナーまたは Web コンテナー内からのみサポートされます。 Java 2 Platform Enterprise Edition (J2EE) アプリケーション・クライアント・コンテナーから、構成済みオブジェクト・プール・マネージャーを検索および使用することはできません。

プロシージャー

  1. 管理コンソールを開始します。
  2. 「リソース」>「オブジェクト・プール・マネージャー」とクリックします。
  3. 有効範囲」値を指定して「新規」をクリックします。
  4. 作業マネージャーの設定に対して必要なプロパティーを指定します。
    有効範囲
    構成されるリソースの有効範囲。この値は、構成ファイルの場所を示します。
    名前
    オブジェクト・プール・マネージャーの名前。この名前は、ASCII 文字で 30 文字以内の長さにします。
    JNDI 名
    プール・マネージャーの Java Naming and Directory Interface (JNDI) 名。
  5. [オプション] オブジェクト・プール・マネージャーの「説明」および「カテゴリー」を指定します。

結果

以上のステップが完了した後、アプリケーションは、指定した JNDI 名を使用して JNDI ルックアップを行うことにより、オブジェクト・プール・マネージャーを見つけることができます。

以下のコードは、アプリケーションがオブジェクト・プール・マネージャー・オブジェクトを検出する方法を示しています。
InitialContext ic = new InitialContext();
ObjectPoolManager opm = (ObjectPoolManager)ic.lookup("java:comp/env/pool");

アプリケーションは ObjectPoolManager を保有すると、使用するクラスのタイプに対して オブジェクト・プールをキャッシュすることができます。以下に例を示します。
ObjectPool arrayListPool = null;
ObjectPool vectorPool = null;
try   
{
	arrayListPool = opm.getPool(ArrayList.class);
	vectorPool = opm.getPool(Vector.class);
}
catch(InstantiationException e)
{
	// problem creating pool
}
catch(IllegalAccessException e)
{
	// problem creating pool
}

アプリケーションは、プールを保有した後、以下の例のようにプールを使用することができます。
ArrayList list = null;
try   
{
	list = (ArrayList)arrayListPool.getObject();
	list.clear();	// just in case
	for(int i = 0; i < 10; ++i)
	{
		list.add("" + i);
	}
	// do what ever we need with the ArrayList
}
finally
{
	if(list != null) arrayListPool.returnObject(list);
}

この例は、オブジェクト・プーリングを使用する基本パターンです。アプリケーションがオブジェクトを戻さない場合、 唯一の悪影響として、オブジェクトを再利用できなくなります。




サブトピック
オブジェクト・プール・マネージャー
オブジェクト・プール・マネージャー・コレクション
オブジェクト・プール・サービス設定
オブジェクト・プール: 学習用リソース
オブジェクト・プール・マネージャーおよびオブジェクト・プール用の MBean
タスク・トピック    

ご利用条件 | フィードバック

最終更新: Jan 22, 2008 12:07:38 AM EST
http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/com.ibm.websphere.base.doc/info/aes/asyncbns/tasks/tasb_objectpool.html