データを格納、編成、取得するために、ほとんどのアプリケーションはリレーショナルデータベースを使用します。J2EE アプリケーションは、JDBC API を介してリレーショナルデータベースにアクセスします。
JDBC リソース (データソース) は、アプリケーションにデータベースへ接続する手段を提供します。通常、管理者は、ドメインに配備されたアプリケーションがアクセスする各データベースの JDBC リソースを作成します。ただし、データベース用に複数の JDBC リソースを作成できます。
JDBC リソースを作成するには、リソースを識別する一意の JNDI 名を指定します。「JNDI 名とリソース」の節を参照してください。通常、JDBC リソースの JNDI 名は java:comp/env/jdbc サブコンテキストにあります。たとえば、給与データベースの JNDI 名は java:comp/env/jdbc/payrolldb にある可能性があります。すべてのリソース JNDI 名は java:comp/env サブコンテキストにあるので、管理コンソールの JDBC リソースにある JNDI 名を指定するときは、jdbc/name だけを入力します。たとえば、給与データベースには jdbc/payrolldb を指定します。
JDBC リソースを作成するには、関連した接続プールを指定します。複数の JDBC リソースで 1 つの接続プールを指定できます。
JDBC 接続プールとは、特定のデータベースのための再利用可能な接続のグループです。新しい物理接続をそれぞれ作成するには時間がかかるので、パフォーマンスの向上のためにサーバーは利用可能な接続のプールを保持しています。アプリケーションが接続を要求すると、プールから 1 つの接続が取得されます。アプリケーションが接続を閉じると、接続はプールに返されます。
接続プールのプロパティーは、データベースベンダーによっては異なる場合もあります。共通のプロパティーには、データベースの名前 (URL)、ユーザー名、およびパスワードがあります。
データを格納、編成、取得するために、ほとんどのアプリケーションはリレーショナルデータベースを使用します。J2EE アプリケーションは、JDBC API を介してリレーショナルデータベースにアクセスします。アプリケーションがデータベースにアクセスするには、接続を取得する必要があります。
実行時に、アプリケーションがデータベースに接続されると次のことが行われます。
JNDI API を介して呼び出しを行うことにより、アプリケーションはデータベースに関連した JDBC リソース (データソース) を取得します。
リソースの JNDI 名を取得すると、ネーミングおよびディレクトリサービスが JDBC リソースを検索します。JDBC リソースはそれぞれ接続プールを指定します。
JDBC リソースを経由して、アプリケーションはデータベース接続を取得します。
バックグラウンドで、アプリケーションサーバーはデータベースに対応した接続プールから物理接続を取得します。プールは、データベース名 (URL)、ユーザー名、およびパスワードなどの接続属性を定義します。
データベースに接続すると、アプリケーションはデータベースのデータの読み込み、変更、および追加を行うことができます。
アプリケーションは JDBC API を呼び出すことにより、データベースにアクセスします。JDBC ドライバはアプリケーションの JDBC 呼び出しをデータベースサーバーのプロトコルに変換します。
データベースへのアクセスが完了すると、アプリケーションは接続を終了します。
アプリケーションサーバーは接続を接続プールに返します。接続がプールに戻されると、次のアプリケーションがその接続を利用できるようになります。