일반 Java™ 클래스처럼 JCICS 라이브러리의 클래스를 사용합니다. 애플리케이션이 필수 유형의 참조를 선언하고 new 연산자를 사용하여 새 클래스 인스턴스를 작성합니다.
CICS Java 프로그램에서 종료자를 사용하지 마십시오. 종료자를 권장하지 않는 이유를 알려면 IBM SDK for z/OS, Java Technology Edition, 버전 7(문제점 해결 섹션 참조) 를 참조하십시오.
System.exit() 호출을 발행하여 CICS Java 프로그램을 종료하지 마십시오. Java 애플리케이션이 CICS에서 실행될 때 public static void main() 메소드가 Java 랩퍼라는 다른 Java 프로그램을 통해 호출됩니다. 랩퍼를 사용할 경우 CICS는 Java 애플리케이션의 환경을 초기화하고, 보다 중요한 점으로 애플리케이션 수명 동안 사용되는 프로세스를 정리합니다. 명확한 리턴 코드 0으로 JVM을 종료하면 이 정리 프로세스가 실행되지 않아 데이터 불일치가 발생할 수 있습니다. 애플리케이션이 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;
}
}