J2EEサービスのうち,リソース接続とトランザクション管理が提供する機能の概要について説明します。なお,機能の詳細については,「14.5 リソース接続とトランザクション管理が提供する機能」を参照してください。
- コネクションプーリング
コネクションをメモリ上にプールしておくことで,アプリケーションからの接続要求に対して高速に処理できます。また,次のような機能も使用できます。
- サーバ起動時またはリソースアダプタ起動時に,指定した数のコネクションを作成して,それをプールしておくことで,コネクションプール開始直後の接続要求を高速に処理する機能(コネクションプールのウォーミングアップ)
- 一定間隔で,プール内の不要なコネクションを段階的に減少させる機能(コネクション数調節)
- コネクションシェアリング・アソシエーション
コネクションを共有することで,コネクション取得処理に掛かる処理時間を短縮できます。
コネクションシェアリングでは,論理コネクションと接続先リソースのコネクションである物理コネクションを多対1で接続します。
コネクションアソシエーションは,コネクションシェアリングができない場合に使用します。論理コネクションと接続先リソースのコネクションである物理コネクションを多対1で接続しますが,使用しない物理コネクションを作成する必要があります。
- ステートメントプーリング
PreparedStatementおよびCallableStatementを使用する処理の場合に,これらのステートメントをプーリングしておくことで,同じステートメント作成に掛かる処理時間を短縮できます。
- ライトトランザクション
ローカルトランザクションを使用するための環境を最適化できます。バッチサーバの場合,ライトトランザクションを有効にします。
- DataSourceオブジェクトのキャッシング
JNDIインタフェースを使用して,DataSource型のオブジェクトの検索要求をする場合,DataSourceオブジェクトをキャッシングできます。
- DB Connectorのコンテナ管理でのサインオンの最適化
コンテナ管理でサインオンをする場合,サインオンの動作を最適化できます。
- 受信バッファのプーリング(Cosminexus DABroker Libraryを使用する場合)
実行したSQLに対して返却される実行結果を格納する領域(受信バッファ)をプールリングしておくことで,SQL実行時のオーバーヘッドを削減できます。
- コネクションの障害検知
プーリングされているコネクションにトラブルが発生していないかを検知できます。これによって,ユーザプログラムからのコネクション要求に対して,有効なコネクションだけを返却できます。
- コネクション枯渇時のコネクション取得待ち
コネクションプールに指定した最大数までコネクションがプールされていて,利用できるコネクションがない場合は,コネクション取得要求を待ち状態にできます。
- コネクションの取得リトライ
使用できるコネクションがコネクションプールにない場合や接続先リソースの物理コネクションの確立に失敗した場合に,自動的にコネクションの取得処理を再実行できます。
- コネクションプールの情報表示
コマンドを使用して,コネクションプール内のコネクションの情報を表示できます。
- コネクションプールのクリア
データベースサーバにトラブルが発生してコネクションが切断された場合などに,不要なコネクションプールをコマンドで削除できます。
- トランザクションタイムアウトとステートメントキャンセル
トランザクション開始時間から一定時間経過した時点で呼び出し先のトランザクションをロールバックします。また,実行中のSQL処理が返ってこない状態でトランザクションタイムアウトが発生した場合は,ステートメントをキャンセルできます。
- 障害調査用SQLの出力
デッドロックやスローダウンなどの障害が発生した時に,発行したSQLをログに出力でき,障害要因の解析に利用できます。
- オブジェクトの自動クローズ
ユーザプログラムでオープンしたStatementオブジェクトなどをクローズできなかった場合,DB Connectorによってオブジェクトを自動的にクローズできます。
- コネクションプールのクラスタ化(コネクションプールの一時停止・再開・状態表示)
データベースをクラスタ構成にしている場合,障害発生時やメンテナンス時に,コネクションプールを停止したり,再開したりできます。また,それぞれのコネクションプールの状態を表示できます。
- リソースへの接続テスト
環境構築時に,リソースアダプタが正しく設定できているかどうかを確認できます。
J2EEサービスのうち,リソース接続とトランザクション管理が提供する機能の目的,およびJ2EE標準との対応について,次の表に示します。
表3-5 J2EEサービス(リソース接続とトランザクション管理)が提供する機能の目的およびJ2EE標準との対応
機能名 |
目的 |
J2EE標準への準拠 |
参照先 |
信頼性 |
性能 |
運用・
保守 |
拡張性 |
そのほか |
J2EE標準 |
拡張 |
コネクションプーリング |
− |
○ |
− |
− |
− |
○ |
○ |
9.10.1 |
コネクションプールのウォーミングアップ |
− |
○ |
− |
− |
− |
− |
○ |
コネクションプール数調節機能 |
− |
○ |
− |
− |
− |
− |
○ |
コネクションシェアリング・アソシエーション |
− |
○ |
− |
− |
− |
○ |
− |
9.10.2 |
ステートメントプーリング |
− |
○ |
− |
− |
− |
− |
○ |
9.10.3 |
ライトトランザクション |
− |
○ |
− |
− |
− |
− |
○ |
9.10.4 |
DataSourceオブジェクトのキャッシング |
− |
○ |
− |
− |
− |
− |
○ |
9.10.6 |
DB Connectorのコンテナ管理でのサインオンの最適化 |
− |
○ |
− |
− |
− |
− |
○ |
9.10.7 |
受信バッファのプーリング(Cosminexus DABroker Libraryを使用する場合) |
− |
○ |
− |
− |
− |
− |
○ |
9.10.8 |
コネクションの障害検知 |
○ |
− |
− |
− |
− |
○ |
○ |
9.11.1 |
コネクション枯渇時のコネクション取得待ち |
○ |
− |
− |
− |
− |
− |
○ |
9.11.2 |
コネクションの取得リトライ |
○ |
− |
− |
− |
− |
− |
○ |
9.11.3 |
コネクションプールの情報表示 |
○ |
− |
− |
− |
− |
− |
○ |
9.11.4 |
コネクションプールのクリア |
○ |
− |
− |
− |
− |
− |
○ |
9.11.5 |
トランザクションタイムアウトとステートメントキャンセル |
○ |
− |
− |
− |
− |
○ |
− |
9.11.8 |
障害調査用SQLの出力 |
− |
− |
○ |
− |
− |
− |
○ |
9.11.10 |
オブジェクトの自動クローズ |
○ |
− |
− |
− |
− |
○ |
− |
9.11.11 |
コネクションプールのクラスタ化(コネクションプールの一時停止・再開・状態表示) |
○ |
− |
− |
− |
− |
− |
○ |
9.12 |
リソースへの接続テスト |
− |
− |
○ |
− |
− |
− |
○ |
9.14 |
(凡例) ○:対応する −:対応しない
- 注
- 表中の項目「J2EE標準」と「拡張」の両方に○が付いている機能は,J2EE標準の機能にApplication Server独自の機能が拡張されていることを示します。「拡張」だけに○が付いている機能はApplication Server独自の機能であることを示します。
All Rights Reserved. Copyright (C) 2006, 2007, Hitachi, Ltd.