Cosminexus V9 アプリケーションサーバ 機能解説 基本・開発編(コンテナ共通機能)

[目次][用語][索引][前へ][次へ]

3.15.6 コネクションの自動クローズ

ユーザプログラムがオープンしたリソースのコネクションは,ユーザプログラムでクローズする必要があります。例外発生などの理由で,ユーザプログラムがコネクションをクローズすることができない場合,WebコンテナやEJBコンテナが自動的にコネクションをクローズする機能があります。

コネクション自動クローズ機能は,機能によって有効と無効を切り替えることができます。コネクションの自動クローズの方法と切り替えについて次の表に示します。

表3-57 コネクション自動クローズの方法と機能の切り替え

自動クローズの方法 有効と無効の切り替え 備考
Webコンテナによるコネクション自動クローズ ※1,※2
EJBコンテナによるコネクション自動クローズ ×※1 常に有効になります。

(凡例)○:切り替えできる ×:切り替えできない −:該当しない

注※1 対象リソースは,リソースアダプタのコネクションとなります。

注※2 Webコンテナによるコネクションの自動クローズ機能は,デフォルトでは有効となっています。無効にする場合は,J2EEサーバのプロパティをカスタマイズして設定します。J2EEサーバの動作設定のカスタマイズについては,「3.15.13 実行環境での設定」を参照してください。


<この項の構成>
(1) Webコンテナによるコネクション自動クローズ
(2) EJBコンテナによるコネクション自動クローズ
(3) コネクション自動クローズが実行されたことを確認する方法
(4) 注意事項

(1) Webコンテナによるコネクション自動クローズ

サーブレットやJSPのサービスメソッド内で,取得・オープンされたJDBCコネクションのうち,メソッドの実行完了時にクローズが実行されていないコネクションに対して,J2EEコンテナ側で自動的にコネクションをクローズします。これによって,オープンされたまま蓄積しているコネクションを自動でクローズできます。

なお,コネクションの自動クローズ機能は,サーブレット内部の別のメソッド,または外部のクラスでコネクションを取得・利用した場合にも有効です。

Webコンテナによるコネクション自動クローズは,サーブレットやJSPのserviceメソッドが完了したときに実行されます。

(2) EJBコンテナによるコネクション自動クローズ

例外発生などの理由で,EJB内で取得したリソースのコネクションをユーザがクローズできない場合に,EJBコンテナが自動的にコネクションをクローズして解放する機能です。

EJBコンテナによるコネクションの自動クローズは,次のタイミングで実施されます。

なお,@Asynchronousアノテーションを指定したSingleton Session BeanまたはStateless Session Beanでは,次のタイミングでコネクションの自動クローズが実行されます。

(3) コネクション自動クローズが実行されたことを確認する方法

コネクション自動クローズが実行されたことは,メッセージログまたはPRFトレースで確認できます。

テスト実行時や障害調査時など,性能を考慮しなくてよい場合は,メッセージログによって確認することをお勧めします。実運用時に確認したい場合は,PRFトレースによって確認することをお勧めします。

(a) メッセージログで確認する方法

ログレベルを「Warning」に設定してください。

コネクション自動クローズが実行された場合は,J2EEサーバのメッセージログにKDJE31010-Wが出力されます。

ログレベルの設定方法については,マニュアル「アプリケーションサーバ 機能解説 保守/移行編」の「3.3.6 J2EEサーバのログ取得の設定」を参照してください。

(b) PRFトレースでの確認方法

JCAコンテナの機能レイヤのPRFトレース取得レベルを「詳細」に設定してください。

コネクション自動クローズが実行された場合は,PRFトレースファイルに次のイベントIDが出力されます。

PRFトレースの取得レベルの設定方法については,マニュアル「アプリケーションサーバ 機能解説 保守/移行編」の「3.3.6 J2EEサーバのログ取得の設定」を参照してください。また,機能レイヤごとのPRFトレース取得レベルの設定方法については,マニュアル「アプリケーションサーバ リファレンス コマンド編」の「cprflevel(PRFトレース取得レベルの表示と変更)」またはマニュアル「アプリケーションサーバ リファレンス コマンド編」の「cprfstart(PRFデーモンの開始)」を参照してください。

(4) 注意事項