Usando JCICS

Use as classes da biblioteca JCICS como classes Java™ normais. Seus aplicativos declaram uma referência do tipo requerido e uma nova instância de uma classe é criada usando o operador new.

Sobre Esta Tarefa

Nomeie recursos CICS usando o método setName para fornecer o nome do recurso CICS subjacente. Após criar o recurso, será possível manipular objetos usando construções Java padrão. É possível chamar métodos dos objetos declarados da maneira usual. Detalhes completos dos métodos suportados para cada classe estão disponíveis no Javadoc fornecido.

Não use finalizadores em programas Java do CICS. Para obter uma explicação de por que os sinalizadores não são recomendados, consulte IBM SDK para z/OS, Java Technology Edition, Versão 7 (consulte a seção Resolução de Problemas).

Não termine programas Java do CICS emitindo uma chamada System.exit(). Quando aplicativos Java são executados no CICS, o método public static void main() é chamado através do uso de outro programa Java chamado wrapper Java. Quando se usa o wrapper, o CICS inicializa o ambiente para aplicativos Java e, mais importante, limpa quaisquer processos que forem usados durante a vida do aplicativo. Finalizar a JVM, mesmo com um código de retorno limpo de 0, impede a execução desses processo de limpeza e pode levar a inconsistência de dados. O uso de System.exit() quando o aplicativo está em execução em um servidor JVM finaliza o servidor JVM e coloca o CICS em modo quiesce imediatamente.

Procedimento

  1. Crie o método main. O CICS tenta passar o controle para o método com uma assinatura de main(CommAreaHolder) na classe especificada pelo atributo JVMCLASS do recurso PROGRAM. Se esse método não for localizado, o CICS tenta chamar o método main(String[]).
  2. Para criar um objeto usando JCICS, siga estas etapas:
    1. Declare uma referência:
         TSQ tsq;
       
    2. Use o operador new para criar um objeto:
         tsq = new TSQ()
       
    3. Use o método setName para dar um nome ao objeto:
         tsq.setName("JCICSTSQ");
       
  3. Use o objeto para interagir com o CICS.

Exemplo

Este exemplo mostra como criar um objeto TSQ, chamar o método delete no objeto da fila de armazenamento temporário recém-criada e capturar a exceção lançada se a fila estiver vazia.
// 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;
    }
}