JCICS ライブラリーのクラスは、通常の Java™ クラスと同じような方法で使用可能です。 アプリケーションは必要なタイプの参照を宣言し、new 演算子を使ってクラスの新規インスタンスが作成されます。
CICS Java プログラムではファイナライザーを使用しないでください。 ファイナライザーが推奨されない理由については、IBM SDK for z/OS, Java Technology Edition バージョン 7 (『トラブルシューティング』セクションを参照)を参照してください。
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;
}
}