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