Cosminexus 機能解説

[目次][用語][索引][前へ][次へ]

9.10.6 DataSourceオブジェクトのキャッシング

J2EEアプリケーションからデータベースにアクセスする場合,JNDIインタフェースを使用してjavax.sql.DataSource型のオブジェクト(以降,DataSourceオブジェクト)の検索を要求します。J2EEサーバのデフォルトの動作では,該当するDataSourceが登録されている場合に,DataSourceオブジェクトのインスタンスを生成してアプリケーションに返します。

このとき,DataSourceオブジェクトのキャッシングを使用すると,J2EEサーバは,登録されているDataSourceオブジェクトのインスタンスをキャッシングして,検索の要求に対して同じインスタンスを返します。DataSourceオブジェクトのキャッシングを使用すると,DataSourceオブジェクトの検索時間が短くなります。

DataSourceオブジェクトのキャッシングをするための設定は,J2EEサーバのプロパティをカスタマイズして設定します。J2EEサーバの動作設定のカスタマイズについては,マニュアル「Cosminexus システム構築ガイド」を参照してください。

<この項の構成>
(1) 前提条件
(2) 注意事項

(1) 前提条件

DataSourceオブジェクトのキャッシング機能は,Enterprise Beanのビジネスメソッド,およびサーブレット/JSPのサービスメソッド内でDataSourceをルックアップし,該当するインスタンスをメンバ変数などに保持しない場合に有効です。

ビジネスメソッドやサービスメソッド内でルックアップしたDataSourceオブジェクトをメンバ変数に保持し,ほかのメソッドでも利用する場合は有効ではありません。また,Enterprise BeanのejbCreateメソッドやサーブレット/JSPのinitメソッドなどの初期化メソッド内でルックアップしたDataSourceオブジェクトをメンバ変数に保持し,ビジネスメソッドやサービスメソッドで使用する場合も有効ではありません。

(2) 注意事項

DataSourceオブジェクトのキャッシング機能を使用する場合に,次に示すようなリソースアダプタを使用すると,動作時に属性ファイルの<resource-ref>の定義が有効にならないことがあります。

同一J2EEコンポーネントで複数の<resource-ref>タグを定義する場合は,別のリソース(デプロイ単位が別になるリソースアダプタ)を使用するようにしてください。