Utilización de JCICS

Las clases de la biblioteca JCICS se utilizan como clases Java™ normales. Sus aplicaciones declaran una referencia de tipo necesario y se crea una nueva instancia utilizando el operador new.

Acerca de esta tarea

Los recursos de CICS se designan utilizando el método setName para proporcionar el nombre del recurso de CICS subyacente. Después de crear el recurso, puede manipular objetos utilizando construcciones Java estándar. Puede llamar a los métodos de los objetos declarados del modo habitual. En el Javadoc suministrado dispone de información completa sobre los métodos que se admiten en cada clase.

No utilice terminadores en los programas Java de CICS. Para ver una explicación de por qué no se recomiendan los terminadores, consulte la publicación IBM SDK for z/OS, Java Technology Edition, Versión 7 (consulte la sección Resolución de problemas).

No finalice los programas Java de CICS emitiendo una llamada System.exit(). Cuando se ejecutan aplicaciones Java en CICS, se llama al método public static void main() mediante el uso de otro programa Java denominado derivador Java. Cuando utiliza el derivador, CICS inicializa el entorno para aplicaciones Java y, lo que es más importante, borra los procesos que se han utilizado durante la vida de la aplicación. Terminar la JVM, incluso limpiamente con un código de retorno 0, impide la ejecución de este proceso de borrado, lo que puede provocar la incoherencia de los datos. Utilizar System.exit() cuando la aplicación se ejecuta en un servidor de JVM termina el servidor de JVM y desactiva temporalmente CICS de inmediato.

Procedimiento

  1. Escriba el método principal. CICS intenta pasar el control al método con una signatura main(CommAreaHolder) en la clase especificada mediante el atributo JVMCLASS del recurso PROGRAM. Si no se encuentra el método, CICS intenta invocar el método main(String[]).
  2. Para crear un objeto utilizando JCICS, siga estos pasos:
    1. Declare una referencia:
         TSQ tsq;
       
    2. Utilice el operador new para crear un objeto:
         tsq = new TSQ()
       
    3. Utilice el método setName para asignar un nombre al objeto:
         tsq.setName("JCICSTSQ");
       
  3. Utilice el objeto para interactuar con CICS.

Ejemplo

En este ejemplo se muestra cómo crear un objeto de TSQ, invocar el método delete en el objeto de cola de almacenamiento temporal que acaba de crear y capturar la excepción emitida si la cola está vacía.
// Definir un nombre de paquete para el programa
package unit_test;

// Importar el paquete de JCICS
import com.ibm.cics.server.*;

// Declarar una clase para una aplicación de CICS
public class JCICSTSQ 
{

    // Se llama al método principal cuando se ejecuta la aplicación
    public static void main(CommAreaHolder cah) 
    {

         try 
         {
             // Crear un objeto de cola de almacenamiento temporal y asignarle un nombre
             TSQ tsq = new TSQ();
             tsq.setName("JCICSTSQ");

             // Suprimir la cola si existe
             try 
             {
                   tsq.delete();
             } 
             catch(InvalidQueueIdException e) 
             {
                  // Absorber QIDERR
                  System.out.println("QIDERR ignored!");
             }

             // Grabar un elemento en la cola
             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());
         }

         // Regresar de la aplicación
         return;
    }
}