ページの先頭行へ戻る
Symfoware Server V12.6.0 アップデート情報
FUJITSU Software

2.22 ガーベジコレクション実行時のオブジェクト回収動作の変更

変更内容

アプリケーション内で、オブジェクトのcloseメソッドを実行し忘れている場合に、データベース上の資源を回収しません。

非互換

V10.1.x以前

Java VMのガーベジコレクションが動作し、オブジェクトが破棄された契機で、JDBCドライバ内部でcloseメソッドを実行し、データベース上の資源を回収します。ただし、回収の際、同一Connection内で実行中のSQL文の処理を停止します。

V11.0.0以降

アプリケーション内で、オブジェクトのcloseメソッドを実行し忘れている場合に、データベース上の資源を回収しません。

対処方法

データソースのオプションとして、finalizeswitchを設定してください。

指定形式
finalizeswitch = ON | OFF
省略時
finalizeswitch = OFF
パラメタの意味
ON:

finalizeメソッドの延長でcloseメソッドを実行します。

OFF:

finalizeメソッドの延長でcloseメソッドを実行しません。

オプションの設定方法として、JDBCデータソース登録ツールを使用する場合の例を説明します。symjddefdsコマンドを使用する場合、DriverManagerクラスのAPIを使用する場合には、“アプリケーション開発ガイド(JDBCドライバ編)”を参照し、それぞれの方法で、オプションを設定してください。

JDBCデータソース登録ツールを使用する場合

JDBCデータソース情報設定画面の[オプション]ボタンをクリックし、データソースのオプション情報設定画面を表示し、[その他パラメタ]に、finalizeswitchオプションを設定します。