ページの先頭行へ戻る
Interstage Application Server/Interstage Web Server Express Java EE運用ガイド
FUJITSU Software

6.6.1 JDBC接続プールの定義項目

定義項目

項目名

省略値

範囲

説明

再起動要否

(※)

接続プール名

  

  • 半角英数字、または特殊文字('-'、'_'、'.'、'/'、';')

  • 先頭には、半角英数字または‘_’のみ指定可能

  • 1~255文字の文字列

JDBC接続プールの名前です。

データソースクラス名

  

文字列

データソースの実装クラスです。

リソースタイプ

  

  • javax.sql.DataSource

  • javax.sql.ConnectionPoolDataSource

  • javax.sql.XADataSource

データソースのインタフェース名です。リソースタイプを指定しなかった場合や、使用するデータソースクラスがリソースタイプに指定したインタフェースを実装していない場合には、javax.sql.DataSourceが指定された場合と同様の動作をします。

説明

  

文字列

JDBC接続プールの説明文です。

追加プロパティ

  

■プロパティ名:

  • 半角英数字、マルチバイト文字、または特殊文字(‘-’、‘_’、‘.’、‘/’、‘;’、‘#’)

  • 先頭には、半角英数字またはマルチバイト文字が指定可能

■プロパティ値:

  • 文字列

プロパティの値の型がjava.util.Propertiesの場合、プロパティに「{[name=value[,name=value]...]}」という形式で値を指定します。nameとvalueには特殊文字の‘,’、‘=’を使用できません。


(注5)

プール内の接続数

初期および最小プールサイズ

8

0~2147483647(個)
(最大プールサイズ以下)

プール内の接続の最小数を指定します。この値は、プールを最初に作成する時のプールに含まれる接続数としても使用されます。

×

最大プールサイズ

32

1~2147483647(個)
(初期および最小プールサイズ以上、かつプールサイズ変更量以上)

プールに含まれる接続の最大数を指定します。プール数が最大プールサイズに達し、すべての接続が使用中の場合、接続要求はキューに格納されます。使用中の接続が解放されると、キューにたまった要求が取り出されて処理が実行されます。

×

プールサイズ変更量

2

1~2147483647(個)
(最大プールサイズ以下)

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

×

アイドルタイムアウト

300

0~2147483647(秒)

プールで接続がアイドル状態のままでいられる最長時間(秒)を指定します。この時間を過ぎると、接続はプールから削除されます。0が指定された場合、接続はアイドルタイムアウトによって、プールから削除されることはありません。


(注1)

最大待ち時間

60000

0~2147483647(ミリ秒)

プールに含まれる接続数が最大プールサイズに達し、すべての接続が使用中の場合、接続を要求するアプリケーションが接続タイムアウトになるまでに待つ時間(ミリ秒)を指定します。0が指定された場合、接続タイムアウトは発生しません。

×

接続検証

接続検証

true

  • true

  • false

接続検証を有効にします。

注意

連携するデータベースがSymfoware ServerのNativeインタフェースの場合、Connection Managerの利用を推奨します。Connection Managerを使用する場合、接続検証を無効にしてください。Connection ManagerについてはSymfoware Serverのマニュアルを参照してください。

×
(注4)

検証方法

rollback

  • rollback

  • table

接続を検証する方法を指定します。

  • rollback
    アプリケーションサーバは、接続に対してrollback()メソッドを呼び出して検証します。

  • table
    アプリケーションサーバは、指定したデータベースのテーブルにSQL文を発行して検証します。指定するテーブルは実在し、アクセス可能である必要があります。この検証方法では指定したテーブルの行数をカウントするSQL文を発行するため、多くの行を持つテーブルや、頻繁にアクセスされているテーブルは指定しないでください。

注意

検証される接続がコンテナーのトランザクション中となる場合、 その接続を検証しません。
V9.3以前の資産を移行する場合、移行対象資産にauto-commit、meta-data検証方法が含まれているときには、これら2つの検証も同様にサポートします。
なお、移行後にauto-commit、meta-data検証方法を別の検証方法に変更すると、Java EE管理コンソールではauto-commit、meta-dataオプションに戻せなくなります。
この場合、コマンドでauto-commit、meta-dataオプションに変更してください。
データベースがSymfoware ServerのNativeインタフェースの場合、rollback検証方法で無効なデータベース接続を検出できない場合があるため、Connection Managerで無効なデータベース接続を検出することを推奨します。
Connection Managerを使用する場合、接続検証を無効にしてください。
Connection ManagerについてはSymfoware Serverのマニュアルを参照してください。
Connection Managerが利用できない場合はtable検証方法の接続検証を利用してください。
データベースがPowerGres Plusの場合、rollback検証方法で無効なデータベース接続を検出できないため、table検証方法で接続検証を行うことを推奨します。

×
(注4)

テーブル名

文字列

「検証方法」でtableを選択した場合は、ここでテーブル名を指定します。指定したテーブルに以下のようなSQL文を実行し、接続を検証します。

  • SELECT COUNT(*) FROM テーブル名

×
(注4)

すべての障害で

false

  • true

  • false

この設定を有効にした場合、1つの接続障害を検出すると、アプリケーションサーバはプールに含まれるすべての接続を閉じ、初期および最小プールサイズで指定した数だけ接続を再確立します。この際、クローズされた接続は接続検証に失敗した接続としてみなされます。
無効の場合は、クライアントからの接続要求の契機でプールから取り出した接続に対して接続検証を行い、検証に失敗した接続のみを破棄します。

×

トランザクション管理

非トランザクション接続

false

  • true

  • false

トランザクション管理されていない接続を返します。

×

トランザクション開始後の接続のみ参加

false

  • true

  • false

本機能が有効なJDBCリソースの場合、JTAトランザクション開始後にオープンした接続だけトランザクションに参加します。

×

トランザクション遮断

JDBCドライバによって設定されるデフォルトの遮断レベル

  • read-uncommitted

  • read-committed

  • repeatable-read

  • serializable

プール内で生成された接続が、指定されたトランザクション遮断レベルに設定されます。

×
(注4)

遮断レベル

true

  • true

  • false

アプリケーションに返却される接続が、常にトランザクション遮断で指定した遮断レベルに設定されることを保証します。

×
(注4)

詳細属性

文のタイムアウト

-1

-1~2147483647

異常に長い時間実行されているクエリーを終了させるまでの時間(秒)を指定します。
アプリケーションサーバは、Statement、PreparedStatement、CallableStatementオブジェクトに対してsetQueryTimeout()メソッドを実行し、実行タイムアウト値を設定します。
アプリケーション側でも明示的にsetQueryTimeout()メソッドを発行した場合、以下の順番で設定が行われます。

  1. アプリケーションサーバが、文のタイムアウトに指定した時間でsetQueryTimeout()メソッドを発行します。

  2. アプリケーションからsetQueryTimeout()メソッドを発行します。

setQueryTimeout()メソッドの詳細は、java.sql.StatementインタフェースのJavaDOCやJDBCドライバのマニュアルを参照してください。
0以下の値を指定した場合は、この属性が無効(setQueryTimeout()メソッドを実行しない)であることを示します。

×
(注4)

プーリング注3

true

  • true

  • false

Interstage側のプーリング機能を有効にします。JDBCドライバ側のプーリング機能を使用する場合は、この設定を無効に設定し、Interstage側のプーリング機能を無効にしてください。


(注5)

リークタイムアウト

0

0~2147483647

正常な接続に使われる最大時間(秒)を指定します。接続の使用時間がこの値を超えた場合、その接続にリークが発生したと見なします。
接続リークが発生した場合、接続がオープンされたときのスタックトレースがサーバーログに記録され、JDBC接続プールのモニタ機能により、リークが発生した接続の数を取得できます。
本定義項目に0を指定した場合、接続のリーク発生の監視を行いません。
リーク再要求をtrueに設定した場合、リークが発生した接続は自動的にその物理接続を破棄します。

×

リーク再要求

false

  • true

  • false

この設定を有効にした場合、リークが発生した接続は自動的にその物理接続を破棄します。

×

作成再試行回数

0

0~2147483647

新しい接続の作成に失敗した場合、再試行する回数を指定します。
0が指定された場合、再試行しません。

×

再試行間隔

10

1~2147483647

接続の作成を再試行する間隔(秒)を指定します。この値は、再試行回数が 0 よりも大きい場合、有効となります。

×

監査証跡

監査ログへのアクセス情報出力

false

  • true

  • false

この設定を有効にした場合、Symfowareの監査ログにアクセス情報を出力します


(注2)

※:IJServerクラスタの再起動が必要かどうかを示しています。
    ○:再起動必要、×:再起動不要

注1)

アプリケーションからの初回アクセス時の設定値が有効になります。

注2)

監査ログへのアクセス情報出力機能を有効から無効に変更しても、CLIENT_INFとMODULE_INFに古い情報が出力する可能性があります。この場合プロセスを再起動してください。監査ログへのアクセス情報出力機能を無効から有効に変更しても、CLIENT_INFとMODULE_INFに情報が出力しない可能性があります。この場合プロセスを再起動してください。

注3)

JDBCドライバ側で提供されているプーリング機能を有効にすると、Interstage側のプーリング機能と冗長に動作する可能性があります。JDBCドライバ側のプーリング機能を有効にする場合は、Interstage側のプーリング機能を無効にしてください。

Interstage側のプーリング機能が無効の場合、以下のJDBC接続プールの定義項目は無効となります。

  • 初期および最小プールのサイズ

  • 最大プールのサイズ

  • プールサイズの変更量

  • アイドルタイムアウト

  • 最大待ち時間

  • すべての障害で

SymfowareのJDBCドライバ側のプーリング機能はサポートしません。Symfowareを利用する場合、本設定をtrueに設定してください。

注4)

アプリケーションクライアントコンテナおよびJava SEスタンドアロンアプリケーションでJDBC接続プールを使用する場合、クライアント実行時の接続先であるInterstage Java EE DASサービスまたはIJServerクラスタのこの定義項目の設定変更後に再起動が必要です。これは、クライアントのプロセスで作成されるJDBC接続プールがInterstage Java EE DASサービスまたはIJServerクラスタの定義項目の値を使用するためです。

5)

運用中に定義を変更すると、プールに含まれるすべての接続が削除されます。


関連情報

詳細な説明や関連記事については、以下を参照してください。

内容

参照先

機能説明

2.17 データベース連携/JDBC

チューニング方法

「チューニングガイド」-「データベース連携環境のチューニング」

コマンド

asadminコマンドの以下のサブコマンド
  getサブコマンド
  setサブコマンド
  listサブコマンド
  create-jdbc-connection-poolサブコマンド
  delete-jdbc-connection-poolサブコマンド
  list-jdbc-connection-poolsサブコマンド

asadminコマンドでの定義項目名

resources.jdbc-connection-poolの定義項目