JCICS ライブラリーのクラスは、通常の Java クラスと同じような方法で使用可能です。 アプリケーションは必要なタイプの参照を宣言し、new 演算子を使ってクラスの新規インスタンスが作成されます。
CICS Java プログラムではファイナライザーを使用しないでください。 ファイナライザーが推奨されない理由については、Java Diagnostics Guide の説明を参照してください。
System.exit() 呼び出しを発行して CICS Java プログラムを終了しないでください。 Java アプリケーションが CICS で実行されるとき、Java ラッパーという別の Java プログラムを使って public static void main() メソッドが呼び出されます。 ラッパーを使用すると、CICS は Java アプリケーション用に環境を初期化し、(より重要な点として) アプリケーション実行期間中に使われるプロセスをすべて終結処理します。 JVM を終了した場合 (たとえクリーンな戻りコード 0 であっても)、この終結処理の実行が妨げられるため、データ不整合が発生する可能性があります。 JVM サーバーでアプリケーションを実行しているときに System.exit() を使用した場合、JVM サーバーが終了し、CICS が直ちに静止します。
// Define a package name for the program
package unit_test;
// Import the JCICS package
import com.ibm.cics.server.*;
// Declare a class for a CICS application
public class JCICSTSQ
{
// The main method is called when the application runs
public static void main(CommAreaHolder cah)
{
try
{
// Create and name a Temporary Storage queue object
TSQ tsq = new TSQ();
tsq.setName("JCICSTSQ");
// Delete the queue if it exists
try
{
tsq.delete();
}
catch(InvalidQueueIdException e)
{
// Absorb QIDERR
System.out.println("QIDERR ignored!");
}
// Write an item to the queue
String transaction = Task.getTask().getTransactionName();
String message = "Transaction name is - " + transaction;
tsq.writeItem(message.getBytes());
}
catch(Throwable t)
{
System.out.println("Unexpected Throwable: " + t.toString());
}
// Return from the application
return;
}
}