Java EEコンポーネントはデータベースにアクセスする場合、JDBC APIを使用します。以下にデータベース連携の機能について説明します。
JDBCリソース
アプリケーションからアクセスする各データベース用にJDBCリソース(データソースと呼ぶ場合もあります)を定義します。一意のJNDI名を指定してJDBCリソースを定義し、アプリケーションはJNDI APIを使用してJDBCリソースを取得します。JDBCリソースに対して、データベースへの処理要求を実行できます。
JDBC接続プール
JDBC接続プールは、再利用可能な接続を管理します。データベースに対して新規に接続を確立する場合、接続に時間がかかります。このため、接続をプールして再利用することで性能を向上します。アプリケーションから接続要求を行った場合、接続はプールから獲得します。アプリケーションから接続の解放要求を行った場合、接続はプールに返却されます。
JDBCリソースを定義する際にJDBC接続プールを指定します。複数のJDBCリソースが1つのJDBC接続プールを共有できます。
JDBCリソースとJDBC接続プールの動作
アプリケーションはデータベースにアクセスする場合、まずはJDBCリソースから接続を取得する必要があります。以下にアプリケーションからデータベースにアクセスする方法と、JDBCリソースとJDBC接続プールの動作について説明します。
JNDI APIを実行して、アクセスするデータベース用に定義されたJDBCリソース(データソース)を取得します。JDBCリソースを取得する際には、JDBCリソース定義時に指定したJNDI名を指定します。
JDBCリソースからデータベースの接続(java.sql.Connectionオブジェクト)を獲得します。Interstageは、内部的に同一のユーザ名とパスワードで接続された物理接続を接続プールから検索して返却します。プールに接続が存在しなかった場合、データベースに対して新たに物理接続を獲得します。最大プールサイズなどはチューニング可能です。チューニング方法については、「7.10 データベース連携環境のチューニング」を参照してください。
アプリケーションはJDBC APIを使用して、獲得された接続に対して検索、更新、挿入処理を実行します。JDBCドライバはアプリケーションの処理要求を受け付けて、データベースに処理を要求します。
データベースに対する処理が完了したら接続を解放します。Interstageは、アプリケーションで解放された接続を接続プールに返却します。一度接続プールに返却された接続は、次のアプリケーションで利用可能となります。
データベースと連携するアプリケーションの作成方法の詳細は、「4.1.8 データベース連携アプリケーションの作成方法」を参照してください。