リソース参照の利点

WebSphere® Application Server では、コードによるアプリケーション・サーバー・リソース (データ・ソース や J2C 接続ファクトリーなど) の参照は、Java™ Naming and Directory Interface (JNDI) 名前空間内の リソースに直接アクセスするのではではなく、論理名を使用して行う必要があります。 これらの論理名は、リソース参照 と呼ばれます。

Application Server では、以下の理由からリソース参照を使用する必要があります。
  • アプリケーション・コードが直接 JNDI ネーミング・スペース内のデータ・ソースを検索すると、 そのデータ・ソース内で維持される各接続は、アプリケーションに定義されたプロパティーを継承します。 したがって、複数のアプリケーション間で共有接続を維持するようにデータ・ソースを構成すると、 多くの例外が発生する可能性があります。 例えば、異なる接続構成を必要とするアプリケーションが、 その特定のデータ・ソースにアクセスを試みたとします。 その結果、アプリケーションは失敗しました。
  • プログラマーは、 ターゲット・アプリケーション・サーバーにおける、 実際のデータ・ソース名または接続ファクトリー名を 知っている必要はありません。
  • リソース参照によって、データ・ソースにデフォルトの分離レベルを設定できます。 リソース参照を使用しない場合は、 使用する JDBC Driver のデフォルトを取得します。
リソース参照を使用した次の例は、検索メソッドを使用し、 データ・ソース用のプレースホルダーを作成して、 そのデータ・ソースを呼び出します。 コードは、論理名 jdbc/Section を使用して、 JNDI サブコンテキスト java:comp/env/ 内にプレースホルダーを保管します。 したがって、jdbc/Section はリソース参照になります。 (サブコンテキスト java:comp/env/ は、WebSphere Application Server がアプリケーション・コード内のオブジェクト参照専用に提供する 名前空間です。)
javax.sql.DataSource specificDataSource  =
   (javax.sql.DataSource) (new InitialContext()).lookup("java:comp/env/jdbc/Section"); 
//The method InitialContext()).lookup creates the logical name, or resource reference, jdbc/Section.
通常、実際のデータ・ソースは、後で管理タスクとして構成されます。
論理名 jdbc/Section は、 アプリケーション・デプロイメント記述子において、 リソース参照として正式に宣言されます。 その後、以下の複数の方法を使って、実際のデータ・ソースの JNDI 名に リソース参照を関連付けることができます。
  • アプリケーションのアセンブリーを行う時点で、 データ・ソースの JNDI 名がわかっている場合は、 リソース参照の「バインディング」ページで、その名前を指定します。
  • アプリケーションのデプロイメント時であれば、データ・ソースの JNDI 名を指定します。
  • デプロイメントの後にアプリケーションを構成するときであれば、 リソース参照をデータ・ソースの JNDI 名にマップします。
このような関連付けを、 リソース参照のデータ・ソースへのバインディング と呼びます。

必要なリソース・バインディングのすべてのタイプについては、アプリケーションのバインディングに関する項目を参照してください。


トピックのタイプを示すアイコン 概念トピック



タイム・スタンプ・アイコン 最終更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cdat_datsorres
ファイル名:cdat_datsorres.html