COBOL プログラムのキャンセル

制約事項: 次の説明はネイティブ コードのみに該当します。

メモリ リークを防ぐため、Java オブジェクトがガベージ コレクターによって破棄される前に、Java からロードした COBOL プログラムをすべてキャンセルする必要があります。Java オブジェクトの Finalize メソッドから、次の呼び出しを使用します。

RuntimeSystem.cobcancel("program")

program は、RuntimeSystem.cobload() 呼び出しでロードされる COBOL プログラムの名前です。次に Java プログラム内の Finalize メソッドの例を示します。

private void Finalize()
	  {
       try
	      {
            RuntimeSystem.cobcancel("demoFinalizers");
            System.out.println("demoFinalizers - finalize'ed");
         }
       catch(Exception e)
         {
           System.out.println(
                "Error during finalize : "+e.getMessage());
		     }
		  }
注意:
  • プログラムをキャンセルするのは、そのプログラムが他のプログラムでいっさい使用されていない場合のみに限定すべきです。ただし、サーバー/スレッド化プログラムでは、その見極めが困難な場合もあります。
  • メソッド名は Finalize であり、finalize ではありません。finalize にするとガベージ コレクション中にインスタンスが呼び出され、ガベージ コレクションの処理中にメモリ ブロックを起す可能性があります。