Sun GlassFish Communications Server 2.0 管理ガイド

第 7 章 コネクタリソース

この章では、エンタープライズ情報システム (EIS) へのアクセスに使用されるコネクタの設定方法について説明します。この章で説明する内容は次のとおりです。

コネクタの概要

コネクタモジュールとは、アプリケーションがエンタープライズ情報システム (EIS) と対話することを可能にする Java EE コンポーネントであり、リソースアダプタとも呼ばれます。EIS ソフトウェアには、さまざまな種類のシステムが含まれています。 ERP (Enterprise Resource Planning)、メインフレームトランザクション処理、および非リレーショナルデータベースなどです。ほかの Java EE モジュールと同様に、コネクタモジュールをインストールするには、これを配備する必要があります。

コネクタ接続プールとは、特定の EIS のための再利用可能な接続のグループです。コネクタ接続プールを作成するには、プールに関連付けるコネクタモジュール (リソースアダプタ) を指定します。

コネクタリソースとは、アプリケーションに EIS への接続を提供するプログラムオブジェクトです。コネクタリソースを作成するには、JNDI 名と関連する接続プールを指定します。複数のコネクタリソースで 1 つの接続プールを指定できます。アプリケーションはリソースの JNDI 名を検索してその位置を確定します。JNDI の詳細については、「JNDI 名とリソース」の節を参照してください。EIS 用コネクタリソースの JNDI 名は、通常 java:comp/env/eis-specific サブコンテキストにあります。

Communications Server は、コネクタモジュール (リソースアダプタ) を使って JMS を実装します。「JMS リソースとコネクタリソースの関係」を参照してください。

コネクタ接続プールの管理

Procedureコネクタ接続プールを作成する

始める前に

プールを作成する前に、プールに関連するコネクタモジュール (リソースアダプタ) を配備します。新しいプールに指定する値は、配備されるコネクタモジュールによって異なります。

  1. ツリーコンポーネントで、「リソース」ノードを展開し、次に「コネクタ」ノードを展開します。「コネクタ接続プール」ノードを選択します。「コネクタ接続プール」ページで、「新規」をクリックします。

  2. 最初の「新しいコネクタ接続プール」ページで、次の設定を指定します。

    1. 「名前」フィールドに、プールの論理名を入力します。

      コネクタリソースを作成するときに、この名前を指定します。

    2. 「リソースアダプタ」コンボボックスでエントリを選択します。

      コンボボックスには、配備されたリソースアダプタ (コネクタモジュール) が表示されます。

  3. 「接続定義」コンボボックスで値を選択します。

    コンボボックスの選択肢は、選択したリソースアダプタによって異なります。「接続定義」の属性は、リソースアダプタの ra.xml ファイル中の connection-definition 要素を表します。

  4. 「次へ」をクリックします。

  5. 「新しいコネクタ接続プール」ページで、次のタスクを実行します。

    1. 「一般設定」領域で、値が正しいことを確認します。

    2. 「プール設定」領域のフィールドは、デフォルト値をそのまま使用できます。

      これらの設定は、あとで変更できます。「コネクタ接続プールを編集する」を参照してください。

    3. 「追加のプロパティー」テーブルで、必要なプロパティーを追加します。

      前の「新しいコネクタ接続プール」ページで、「接続定義」コンボボックスのクラスを選択しました。このクラスがサーバーのクラスパスにある場合、「追加のプロパティー」テーブルにはデフォルトのプロパティーが表示されます。

  6. 「完了」をクリックします。

同機能を持つ asadmin コマンド

create-connector-connection-pool

Procedureコネクタ接続プールを編集する

  1. ツリーコンポーネントで、「リソース」ノードを展開し、次に「コネクタ」ノードを展開します。「コネクタ接続プール」ノードを展開し、編集するコネクタ接続プールを選択します。

  2. 「コネクタ接続プールを編集」ページで、この接続プールの設定を変更できます。「一般設定」では、接続プールの説明を変更することもできます (省略可能)。

  3. 「プール設定」で、次の表に示すようにパラメータ値を指定できます。

    パラメータ 

    説明 

    初期および最小プールサイズ 

    プール内の接続の最小数。この値は、プールを最初に作成したり、アプリケーションサーバーを起動したりするときの、プールに含まれる接続の数も指定します。 

    最大プールサイズ 

    プールに含まれる接続の最大数。 

    プールサイズ変更量 

    プールのサイズを、最大プールサイズおよび最小プールサイズに向けて拡大および縮小すると、一括処理でプールサイズが変更されます。この値は一括処理での接続の数を指定します。この値を過大に設定すると接続の作成と再利用が遅れ、過小に設定すると効率が落ちます。 

    アイドルタイムアウト 

    プールで接続がアイドル状態のままでいられる最長時間を指定します。この時間を過ぎると、接続はプールから削除されます。 

    最大待ち時間 

    接続を要求するアプリケーションが接続タイムアウトになるまでに待つ時間。  

    すべての障害で 

    「すべての接続を閉じる」のチェックボックスを選択している場合、1 つの接続が失敗すると、アプリケーションサーバーはプールに含まれるすべての接続を閉じ、それらを再確立します。チェックボックスを選択していない場合は、使用されるときにだけ個々の接続が再確立されます。 

    トランザクションサポート 

    「トランザクションサポート」リストを使用して、接続プールのトランザクションサポートのタイプを選択できます。選択したトランザクションサポートは、接続プールに関連付けられたリソースアダプタのトランザクションサポートを上書きし、下位互換性を維持します。つまり、リソースアダプタで指定されたレベルより低いトランザクションレベルや、リソースアダプタで指定された同じレベルのトランザクションレベルをサポートできますが、こより高いレベルは指定できません。トランザクションサポートには次のオプションがあります。「トランザクションサポート」メニューで「なし」を選択すると、リソースアダプタはリソースマネージャーのローカルトランザクションや JTA トランザクションをサポートせず、XAResource または LocalTransaction インタフェースを実装しません。JAXR リソースアダプタの場合は、「トランザクションサポート」メニューで「なし」を選択する必要があります。JAXR リソースアダプタは、ローカルまたは JTA のトランザクションをサポートしません。ローカルトランザクションサポートとは、リソースアダプタが LocalTransaction インタフェースを実装することでローカルトランザクションをサポートすることを意味します。ローカルトランザクションはリソースマネージャーの内部で管理され、外部トランザクションマネージャーを必要としません。XA トランザクションサポートとは、リソースアダプタが LocalTransaction と XAResource インタフェースを実装することで、ローカルおよび JTA トランザクションをサポートすることを意味します。XA トランザクションは、リソースマネージャーの外部にあるトランザクションマネージャーで管理および調整されます。ローカルトランザクションはリソースマネージャーの内部で管理され、外部トランザクションマネージャーを必要としません。 

    接続検証 

    「必須」チェックボックスにチェックを付けて、接続検証を有効にします。 

  4. 「保存」をクリックします。

  5. すべての設定をデフォルト値に戻す場合は、「デフォルトを読込み」をクリックします。

asadmin コマンドを使用して、接続プールのプロパティーを変更します。

asadmin get および asadmin set コマンドを使用して、接続プールのプロパティー値を表示および変更できます。

サーバーのすべてのコネクタ接続プールを表示するには、次のコマンドを使用します。

asadmin list domain.resources.connector-connection-pool.*

コネクタ接続プールのプロパティーを表示するには、次のコマンドを使用します。

asadmin get domain.resources.connector-connection-pool.conectionpoolname .*

コネクタ接続プールのプロパティーを設定するには、次のコマンドを使用します。

asadmin set domain.resources.connector-connection-pool.conectionpoolname .pool-resize-quantity=3

Procedureコネクタ接続プールの詳細属性を編集する

  1. 「詳細」タブで、コネクタ接続プールの詳細属性を編集します。

    パラメータ 

    説明 

    最大で 1 回検証 

    経過するまでに 1 回しか接続が検証されない時間 (秒)。これは、1 つの接続による検証要求の数を減らすのに役立ちます。デフォルト値の 0 は、接続の検証が無効であることを示します。 

    リークタイムアウト 

    接続プール内の接続リークを追跡する時間 (秒)。デフォルト値の 0 は、接続リーク追跡が無効であることを示します。接続リーク追跡を有効にすると、「リソースの監視」タブに接続リークの数に関する統計情報が表示されます。このタブを表示するには、「Application Server」->「監視」->「リソース」の順に選択します。 

    リーク再要求 

    このオプションを有効にすると、リーク接続の追跡が完了したあとで、リークした接続がプールにリストアされます。 

    作成再試行回数 

    新しい接続の作成に失敗した場合に行われる試行の回数。デフォルト値の 0 は、接続の再試行が行われないことを示します。 

    再試行間隔 

    接続作成の試行の間隔 (秒数) を指定します。デフォルト値は 10 秒です。この属性は、「作成再試行回数」が 1 以上の場合にのみ使用されます。 

    使用時にのみ関連付け 

    接続に対して操作が実行された時点ではじめて接続が関連付けられます。また、トランザクションが完了してコンポーネントメソッドが終了したときに関連付けが解除されるため、物理的な接続を再利用しやすくなります。デフォルト値は false です。 

    使用時にのみ接続を登録 

    リソースが実際にメソッドで使用される場合にのみリソースをトランザクションに登録するには、このオプションを有効にします。 

    スレッドとの関連付け 

    接続をスレッドに関連付けるには、このオプションを有効にします。これにより、同じスレッドが接続を必要とするときは、そのスレッドにすでに関連付けられている接続を再利用できるため、プールから接続を取得するオーバーヘッドが発生しません。デフォルト値は false です。 

    接続のマッチング 

    プールに対する接続マッチングのオン/オフを切り替えるには、このオプションを使用します。プール内の接続が常に同じ種類であり、プールから選択した接続とリソースアダプタを照合する必要がない場合は、false に設定できます。デフォルト値は false です。 

    最大接続使用数 

    接続をプールで再利用する回数を指定します。指定された回数だけ再利用されると、その接続は閉じられます。これは、たとえば、文リークを回避するのに役立ちます。デフォルト値の 0 は、この属性が無効であることを示します。 

  2. 「保存」をクリックして、変更内容を有効にします。

  3. すべての設定をデフォルト値に戻す場合は、「デフォルトを読込み」をクリックします。

asadmin コマンドを使用して、接続プールのプロパティーを変更します。

asadmin get および asadmin set コマンドを使用して、接続プールのプロパティー値を表示および変更できます。

サーバーのすべてのコネクタ接続プールを表示するには、次のコマンドを使用します。

asadmin list domain.resources.connector-connection-pool.*

コネクタ接続プールのプロパティーを表示するには、次のコマンドを使用します。

asadmin get domain.resources.connector-connection-pool.conectionpoolname .*

コネクタ接続プールのプロパティーを設定するには、次のコマンドを使用します。

asadmin set domain.resources.connector-connection-pool.conectionpoolname .validate-atmost-once-period-in-seconds=3

Procedureコネクタ接続プールのプロパティーを編集する

  1. 「追加のプロパティー」タブで、既存のプールのプロパティーを変更します。

    指定するプロパティーは、このプールで使用するリソースアダプタによって異なります。配備担当者がこのテーブルで指定する名前と値のペアを使用して、リソースアダプタのベンダーが定義したプロパティーのデフォルト値を上書きすることができます。

  2. 「保存」をクリックして、変更内容を有効にします。

セキュリティーマップの管理

コネクタ接続プールに関連するセキュリティーマップを作成、編集、および削除できます。

Procedureコネクタ接続プールのセキュリティーマップを作成する

  1. 「コネクタ接続プールを編集」ページで、「セキュリティーマップ」タブ付き区画をクリックします。

  2. 「新規」をクリックして、新しいセキュリティーマップを作成します。

  3. 「新しいセキュリティーマップ」ページで、セキュリティーマップの名前、ユーザー名、およびパスワードを入力します。

  4. 「了解」をクリックします。

Procedureコネクタ接続プールのセキュリティーマップを編集する

  1. 「コネクタ接続プールを編集」ページで、「セキュリティーマップ」タブ付き区画をクリックします。

  2. セキュリティーマップのリストで、編集するセキュリティーマップの名前をクリックします。

  3. 必要に応じて値を変更し、「保存」をクリックします。

Procedureコネクタ接続プールを削除する

  1. ツリーコンポーネントで、「リソース」ノードを展開し、次に「コネクタ」ノードを展開します。

  2. 「コネクタ接続プール」ノードを選択します。

  3. 「コネクタ接続プール」ページで、削除するプールのチェックボックスを選択します。

  4. 「削除」をクリックします。

同機能を持つ asadmin コマンド

delete-connector-connection-pool

ProcedureEIS アクセスをセットアップする

  1. コネクタを配備 (インストール) します。

  2. コネクタの接続プールを作成します。

  3. 接続プールに関連付けるコネクタリソースを作成します。

コネクタリソースの管理

Procedureコネクタリソースを作成する

コネクタリソース (データソース) は、アプリケーションに EIS への接続を提供します。

始める前に

コネクタリソースを作成する前に、まずコネクタ接続プールを作成します。

  1. ツリーコンポーネントで、「リソース」ノードを展開し、次に「コネクタ」ノードを展開します。

  2. 「コネクタリソース」ノードを展開します。

  3. 「コネクタリソース」ページで、「新規」をクリックします。

  4. 「新しいコネクタリソース」ページで、リソースの設定を指定します。

    1. 「JNDI 名」フィールドに一意の名前入力します (たとえば、eis/myERP )。

    2. 「プール名」コンボボックスで、新しいコネクタリソースを作成する接続プールを選択します。

    3. リソースを使用不可に変更するには、「ステータス」チェックボックスのチェックマークを外します。

      デフォルトでは、リソースは使用可能 (有効) で作成されます。

    4. 次のいずれかの操作を行います。

      • クラスタプロファイルを使用している場合は、ページに「ターゲット」領域が表示されます。「ターゲット」領域の「利用可能」フィールドで、コネクタリソースを作成するドメイン、クラスタ、またはサーバーインスタンスを選択し、「追加」をクリックします。コネクタリソースを、「選択」フィールドに表示されているドメイン、クラスタ、またはサーバーインスタンスに配備しない場合は、フィールドでいずれかの対象を選択して「削除」をクリックします。

      • ドメインを開発者プロファイルで実行している場合は、手順 5 に進みます。

  5. 「了解」をクリックします。

同機能を持つ asadmin コマンド

create-connector-resource

Procedureコネクタリソースを編集する

  1. ツリーコンポーネントで、「リソース」ノードを展開し、次に「コネクタ」ノードを展開します。

  2. 「コネクタリソース」ノードを展開します。

  3. 編集するコネクタリソースのノードを選択します。「コネクタリソースを編集」ページで、接続の設定を変更できます。

  4. 次のいずれかの操作を行います。

    • クラスタプロファイルまたはエンタープライズプロファイルを使用している場合は、「ターゲット」タブ付き区画が表示されます。「ターゲット」タブ付き区画では、各ターゲットのコネクタリソースを有効または無効にすることができます。「ターゲットの管理」をクリックして、コネクタリソースを配備するターゲットを変更できます。

    • 開発者プロファイルを使用している場合は、次の手順に進みます。

  5. 「保存」をクリックして、編集内容を適用します。

Procedureコネクタリソースを削除する

  1. ツリーコンポーネントで、「リソース」ノードを展開し、次に「コネクタ」ノードを展開します。

  2. 「コネクタリソース」ノードを選択します。

  3. 「コネクタリソース」ページで、削除するリソースのチェックボックスを選択します。

  4. 「削除」をクリックします。

同機能を持つ asadmin コマンド

delete-connector-resource

Procedureコネクタサービスを設定する

「コネクタサービス」画面を使用して、このクラスタまたはサーバーインスタンスに配備されたすべてのリソースアダプタに対して、コネクタコンテナを設定できます。

  1. ツリーで「設定」を選択します。

  2. クラスタプロファイルを使用している場合は、設定するインスタンスを選択します。

    • 特定のインスタンスを設定するには、そのインスタンスの設定ノードを選択します。たとえば、デフォルトインスタンス server の場合は、server-config ノードを選択します。

    • 今後作成するインスタンスのデフォルトの設定を変更するには、default-config ノードを選択します。

  3. 「コネクタサービス」ノードを選択します。

  4. 「シャットダウンタイムアウト」フィールドに、シャットダウンのタイムアウトを秒単位で指定します。

    コネクタモジュールのインスタンスで ResourceAdapter.stop メソッドが完了するまでに、アプリケーションサーバーが待機する最大の時間 (秒単位) を、整数値で入力します。指定したシャットダウンタイムアウトより時間がかかるリソースアダプタは、アプリケーションサーバーから無視され、シャットダウンの手順が継続されます。デフォルトのシャットダウンタイムアウトは 30 秒です。クラスタまたはサーバーインスタンスに配備されたリソースアダプタの、デフォルトのシャットダウンタイムアウトを選択する場合は、「デフォルトを読込み」をクリックします。

管理対象オブジェクトリソースの管理

リソースアダプタ (コネクタモジュール) にパッケージ化されている管理対象オブジェクトは、アプリケーションの特殊な機能を提供します。たとえば、管理対象オブジェクトは、リソースアダプタおよびそれに関連付けられた EIS に固有なパーサーへのアクセスを提供できます。オブジェクトは管理対象に指定することができます。つまり、管理者により設定可能です。オブジェクトを設定するには、「新しい管理オブジェクトリソース」または「管理オブジェクトリソースを編集」ページで、名前と値のプロパティーペアを追加します。管理対象オブジェクトリソースを作成するときに、その管理対象オブジェクトを JNDI 名に関連付けます。

管理対象オブジェクトリソースを作成、編集、および削除するには、管理コンソールで「リソース」、「管理オブジェクトリソース」の順にクリックします。管理対象オブジェクトリソースの管理手順の詳細については、管理コンソールのオンラインヘルプを参照してください。

Procedure管理対象オブジェクトリソースを作成する

リソースアダプタ (コネクタモジュール) にパッケージ化されている管理対象オブジェクトは、アプリケーションの特殊な機能を提供します。たとえば、管理対象オブジェクトは、リソースアダプタおよびそれに関連付けられた EIS に固有なパーサーへのアクセスを提供できます。オブジェクトは管理対象に指定することができます。つまり、管理者により設定可能です。オブジェクトを設定するには、「新しい管理オブジェクトリソース」または「管理オブジェクトリソースを編集」ページで、名前と値のプロパティーペアを追加します。管理対象オブジェクトリソースを作成するときに、その管理対象オブジェクトを JNDI 名に関連付けます。

Communications Server は、リソースアダプタを使用して JMS を実装します。作成された JMS の送信先ごとに、Communications Server は自動的に管理対象オブジェクトリソースを作成します。

  1. ツリーコンポーネントで、「リソース」ノードを展開し、次に「コネクタ」ノードを展開します。

  2. 「管理オブジェクトリソース」ノードを展開します。

  3. 「管理オブジェクトリソース」ページで、「新規」をクリックします。

  4. 「管理オブジェクトリソース」ページで、次の設定を指定します。

    1. 「JNDI 名」フィールドに、リソースを識別する一意の名前を入力します。

    2. 「リソースタイプ」フィールドに、リソースの Java タイプを入力します。

    3. 「リソースアダプタ」コンボボックスで、管理対象オブジェクトを含むリソースアダプタを選択します。

    4. 「ステータス」チェックボックスを選択または選択解除して、リソースを有効または無効にします。

    5. 名前と値のプロパティーのペアを使用して管理対象オブジェクトを設定するには、「プロパティーを追加します」をクリックします。

    6. クラスタプロファイルを使用している場合は、ページ内の「ターゲット」領域で、「利用可能」フィールドから管理対象オブジェクトを作成するドメイン、クラスタ、またはサーバーインスタンスを選択し、「追加」をクリックします。

      「選択」フィールドのドメイン、クラスタ、またはサーバーインスタンスで管理対象オブジェクトの配備を取り消すには、フィールドでドメイン、クラスタ、またはサーバーインスタンスを選択し、「削除」をクリックします。

    7. 「完了」をクリックします。

同機能を持つ asadmin コマンド

create-admin-object

Procedure管理対象オブジェクトリソースを編集する

  1. ツリーコンポーネントで、「リソース」ノードを展開し、次に「コネクタ」ノードを展開します。

  2. 「管理オブジェクトリソース」ノードを展開します。

  3. 編集する管理対象オブジェクトリソースのノードを選択します。

  4. 「管理オブジェクトリソースの編集」ページで、「管理オブジェクトリソースを作成する」の手順で指定した値を変更します。

  5. クラスタプロファイルを使用している場合は、「ターゲット」タブ付き区画で「ターゲットの管理」をクリックして、管理対象オブジェクトを配備するターゲットを編集します。

  6. 「保存」をクリックして、編集内容を適用します。

Procedure管理対象オブジェクトリソースを削除する

  1. ツリーコンポーネントで、「リソース」ノードを展開し、次に「コネクタ」ノードを展開します。

  2. 「管理オブジェクトリソース」ノードを選択します。

  3. 「管理オブジェクトリソース」ページで、削除するリソースのチェックボックスを選択します。

  4. 「削除」をクリックします。

同機能を持つ asadmin コマンド

delete-admin-object