Utilisation de JCICS

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.

Pourquoi et quand exécuter cette tâche

Attribuez un nom aux ressources CICS à l'aide de la méthode setName afin de fournir le nom de la ressource CICS sous-jacente. Une fois la ressource créée, vous pouvez manipuler des objets à l'aide des constructions Java standard. Vous pouvez appeler les méthodes des objets déclarés comme vous le faites habituellement. Pour plus d'informations sur les méthodes prises en charge pour chaque classe, reportez-vous à la documentation Java fournie.

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.

Procédure

  1. Ecrivez la méthode principale. CICS essaie de transmettre le contrôle à la méthode avec la signature main(CommAreaHolder) dans la classe spécifiée par l'attribut JVMCLASS de la ressource PROGRAM. Si cette méthode est introuvable, CICS essaie d'appeler la méthode main(String[]).
  2. Pour créer un objet à l'aide de JCICS, procédez comme suit :
    1. Déclarez une référence :
         TSQ tsq;
       
    2. Utilisez l'opérateur new pour créer un objet :
         tsq = new TSQ()
       
    3. Utilisez la méthode setName pour attribuer un nom à l'objet :
         tsq.setName("JCICSTSQ");
       
  3. Utilisez l'objet pour interagir avec CICS.

Exemple

Cet exemple montre comment créer un objet TSQ, appeler la méthode delete dans l'objet de la file d'attente de stockage temporaire que vous venez de créer et intercepter l'exception générée si la file d'attente est vide.
// 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;
    }
}