Utilisez les classes de la bibliothèque JCICS comme des classes Java™ normales. Vos applications déclarent une référence du type requis et une nouvelle instance d'une classe créée à l'aide de l'opérateur new.
N'utilisez pas de finaliseurs dans les programmes Java CICS. Pour connaître la raison pour laquelle les finaliseurs ne sont pas recommandés, reportez-vous à la rubrique Kit de développement de logiciels IBM pour z/OS, Java Technology Edition, version 7 (voir section Traitement des incidents).
N'arrêtez pas les programmes Java CICS en émettant un appel System.exit(). Lorsque les applications Java sont exécutées dans CICS, la méthode public static void main() est appelée en utilisant un autre programme Java appelé Encapsuleur Java. Lorsque vous utilisez l'encapsuleur, CICS initialise l'environnement d'applications Java et, surtout, nettoie tout processus utilisé pendant la durée de vie de l'application. L'arrêt de la JVM, même avec un code retour de 0, empêche l'exécution de ce processus de nettoyage et peut générer des incohérences au niveau des données. Si vous utilisez System.exit() lorsque l'application est en cours d'exécution dans un serveur JVM, ce dernier s'arrête et met CICS immédiatement en attente.
// 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;
}
}