3.15.3 コネクションの取得リトライ
コネクション取得リトライは,使用できるコネクションがコネクションプールにない場合や,物理コネクションの確立に失敗した場合に,自動的にコネクションの取得をリトライする機能です。コネクション取得リトライ機能を使用することで,コネクション取得に失敗した場合に,ユーザプログラムでリトライをする必要がなくなります。
次の条件のどちらかに当てはまる場合に,コネクション取得をリトライできます。
-
次のすべての条件を満たし,使用できるコネクション(未使用状態のコネクション)がコネクションプールにない場合
-
コネクション枯渇時のコネクション取得待ち行列が無効。
-
コネクションプールのコネクション総数がプーリングするコネクションの最大数に達している。
-
-
次の条件のどれかで物理コネクションの確立に失敗した場合
-
コネクションプールのコネクション総数がプーリングするコネクションの最大数に達していて,認証情報が一致する未使用状態のコネクションがない。
-
コネクションプールのコネクション総数がプーリングするコネクションの最大数に達していない。
-
コネクションプーリングが無効。
-
なお,リトライしてもコネクションが取得できない場合は,アプリケーションプログラムに例外が通知され,コネクションの取得は失敗します。
コネクションプールが枯渇したときの動作は,「3.15.2 コネクション枯渇時のコネクション取得待ち」に従います。
コネクション取得リトライを実施する場合には,リソースアダプタのプロパティとして,次の二つの内容を設定する必要があります。
-
リトライの回数
リトライする回数を設定します。
-
リトライまでの間隔
次のリトライまでの間隔を秒単位で設定します。
なお,リトライの回数,およびリトライまでの間隔を大きくすると,コネクション取得処理が重なった場合に,待ちが発生するおそれがあります。
リソースアダプタの設定については,「3.15.13 実行環境での設定」を参照してください。
- 〈この項の構成〉
(1) 前提条件
コネクション取得のリトライ機能を使用するための前提条件を次の表に示します。
リソース |
接続方法 |
利用可否 |
---|---|---|
データベース |
DB Connector |
○ |
データベース上のキュー |
DB Connector for Reliable MessagingとReliable Messaging |
○ |
OpenTP1 |
TP1 Connector |
○ |
TP1/Message Queue - Access |
○ |
|
SMTPサーバ |
メールコンフィグレーション |
× |
JavaBeansリソース |
− |
× |
そのほかのリソース |
Connector 1.0仕様またはConnector 1.5仕様に準拠したリソースアダプタ |
○ |