Aplicativo Java de Amostra para Recuperar Solicitações de Callout Assíncronas

Para preparar um aplicativo Java™ não MDB para solicitações de entrada a partir de um programa de aplicativo IMS, especifique o verbo de interação apropriado, o nome da fila de suspensão e o valor de tempo limite no aplicativo Java.

O código de amostra a seguir mostra uma exemplo de um aplicativo Java que é configurado para receber as solicitações de callout.

// A consulta JNDI retorna connFactory 
InitialContext initCntx = new InitialContext();
ConnectionFactory connFactory = 
      (ConnectionFactory) initCntx.lookup("java:comp/env/ibm/ims/IMSTarget"); 

IMSConnectionSpec connSpec = new IMSConnectionSpec();
Connection connection = connFactory.getConnection(connSpec);
Interaction interaction = connection.createInteraction(); 
IMSInteractionSpec interactionSpec = new IMSInteractionSpec(); 

//Configurar o modo de confirmação e o nível de sincronização 
interactionSpec.setCommitMode(0); 
interactionSpec.setSyncLevel(1);

// Um nome de fila com oito caracteres na qual as mensagens assíncronas deverão ser recuperadas a partir da
cadeia calloutQueueName = new String ("CALLOUTQ");
// Configurar o nome da fila assíncrona para a mensagem de callout
interactionSpec.setAltClientID(calloutQueueName);
 
// Configurar interactionVerb para recuperar a saída assíncrona com um tempo limite
interactionSpec.setInteractionVerb(com.ibm.connector2.ims.ico.
IMSInteractionSpec.SYNC_RECEIVE_CALLOUT);
interactionSpec.setExecutionTimeout(3600000);

for (;;) {
      try {
            // Executar a interação
            iteraction.execute(interactionSpec, null, calloutMsg); 

            // Processamento adicional em calloutMsg
            :
      } catch (Exception e) {
            // se a exceção for um erro de tempo limite de execução,
            // você poderá não efetuar nenhuma ação e continuar com o loop
            // ou processar o erro e interromper o loop
            break;
      }
}

iteraction.close(); 
connection.close();

Feedback