JDBC 接続プールを作成する

管理コンソールで接続プールを作成すると、特定のデータベースへの接続の項目を定義することになります。

始める前に

接続プールを作成するには、JDBC API をサポートするドライバ (JDBC ドライバ) を最初にインストールし、統合する必要があります。「JDBC ドライバを統合する」を参照してください。

JDBC 接続プールの作成には次の情報が必要です。手順を進める前に、これらの情報を収集してください。

  1. ナビゲーションツリーで、「共通操作」ノードを選択します。
  2. 「共通操作」ページで、「新しい JDBC 接続プールを作成します」ボタンをクリックします。

    「新しい JDBC 接続プール (ステップ 1/2)」ページが開きます。


    注 – 「リソース」ノードおよび「JDBC」ノードを展開し、「接続プール」ノードを選択して、「JDBC 接続プール」ページにアクセスすることもできます。次に、「新しい接続プール」ページで、「新規」を選択して新しい接続プールを作成します。


  3. 「名前」フィールドに、新しい接続フィールドの名前を入力します。

    このフィールドは必須です。

  4. 「リソースタイプ」ドロップダウンリストから、リソースタイプを選択します。

    javax.sql.XADataSource (グローバルトランザクション)、java.sql.ConnectionPoolDataSource (ローカルトランザクション、パフォーマンス改善が可能)、javax.sql.DataSource (ローカルトランザクションのみ) から選択できます。

  5. 「データベースベンダー」ドロップダウンリストから、データベースベンダーを選択します。
  6. 「次へ」をクリックします。

    「新しい JDBC 接続プール (ステップ 2/2)」ページが開きます。

  7. 「データソースクラス名」フィールドに、データソースまたは XADataSource API、あるいはその両方を実装するベンダー固有のクラスの名前を入力します。
  8. 「説明」フィールドに、接続プールの簡単な説明を入力します。
  9. 「初期および最小プールサイズ」フィールドに、このプールの最小接続数を入力します。

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

  10. 「最大プールサイズ」フィールドに、このプールの最大接続数を入力します。

    デフォルト値は 32 です。

  11. 「プールサイズ変更量」フィールドに、プールサイズの変更バッチごとの接続数を入力します。

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

  12. 「アイドルタイムアウト」フィールドに、接続がプール内にアイドル状態で残ることができる最大時間を秒単位で入力します。

    この時間を過ぎると、接続はプールから削除されます。デフォルト値は 30 です。

  13. 「最大待ち時間」フィールドに、接続を要求しているアプリケーションが接続タイムアウトを受け取るまでに待機する最長時間をミリ秒単位で入力します。

    デフォルト値は 60,000 です。

  14. 「接続検証」の「必要」チェックボックスを選択して、接続検証を有効にします。

    接続検証によって、サーバーは障害発生時に再接続できます。

  15. 「検証方法」ドロップダウンリストから、検証方法を選択します。

    アプリケーションサーバーは、次の 3 つの方法でデータベース接続を検証できます。auto-commit、metadata、および table。

    auto-commit および metadata

    アプリケーションサーバーは、con.getAutoCommit() メソッドと con.getMetaData メソッドを呼び出して接続を検証します。


    注 – 多数の JDBC ドライバが、これらの呼び出しの結果をキャッシュします。その結果、これらの呼び出しを使用すると、信頼できる検証が行われない場合もあります。呼び出しがキャッシュされるかどうかについて、ドライバベンダーに問い合わせる必要があります。


    table

    アプリケーションは、指定したデータベース表に対してクエリーを実行します。表は実在し、アクセス可能である必要がありますが、行は必要ありません。多くの行を持つ既存の表や、すでに頻繁にアクセスされている表を使用しないでください。

  16. 「検証方法」ドロップダウンリストで「table」を選択した場合、「テーブル名」フィールドにデータベーステーブルの名前を入力します。

    テーブル名に含めることができるのは、英数字、下線、ダッシュ、またはドットの各文字だけです。

  17. 「すべての障害で全ての接続を閉じる」チェックボックスを選択して、接続の障害発生時にサーバーがプール内のすべての接続を閉じて、それらを再度確立するようにします。

    このチェックボックスが選択されていない場合、個々の接続はそれぞれの使用時のみ再度確立されます。

  18. 「コンポーネント以外の呼び出し元を許可」の「有効」チェックボックスを選択して、コンポーネント以外の呼び出し元がプールを使用できるようにします。

    コンポーネント以外の呼び出し元の具体例には、サーブレットフィルタやライフサイクルモジュールなどがあります。

  19. 「非トランザクション接続」の「有効」チェックボックスを選択して、非トランザクション接続を返すようにします。
  20. 「トランザクション遮断」の「レベル」ドロップダウンリストから、この接続プールのトランザクション遮断レベルを選択します。

    指定しない場合、接続には JDBC ドライバによって設定されるデフォルトの遮断レベルが適用されます。

  21. 「遮断レベル」の「保証」チェックボックスが適用されるのは、手順 20 でトランザクション遮断レベルが指定された場合のみです。

    「保証」チェックボックスを選択すると、プールから取得されるすべての接続が同じ遮断レベルになります。たとえば、最後の使用時に con.setTransactionIsolation を使って接続の遮断レベルをプログラム的に変更した場合、このメカニズムによって状態が指定の遮断レベルに戻されます。

  22. (省略可能) 「追加プロパティー」セクションで、追加プロパティーを指定します。

    必須プロパティーの具体例は、データベース名 (URL)、ユーザー名、パスワードなどです。データベースベンダーによってプロパティーが異なるため、詳細については、ベンダーのマニュアルを参照してください。

  23. 「完了」をクリックします。
参照