Código de Aplicativo CCI de Amostra

Este código de aplicativo CCI de amostra demonstra como obter uma conexão e, então, um objeto IMSInteraction para executar uma transação do IMS.

Em um ambiente gerenciado, use a API do CCI para consultar uma instância IMSConnectionFactory no namespace de JNDI e, então, usá-la para obter uma instância IMSConnection.

ConnectionFactory cf = null;
if (isManaged) {
   //Use a consulta JNDI para obter a instância ConnectionFactory
   //Presuma que o connection factory tenha um nome JNDI de MyIMS
   Context ic = new InitialContext();
   cf = (ConnectionFactory) ic.lookup("MyIMS");
 

Se o JNDI não estiver configurado, um aplicativo CCI poderá configurar manualmente um objeto IMSManagedConnectionFactory e usá-lo para obter um connection factory.

IMSManagedConnectionFactory mcf = new IMSManagedConnectionFactory();
mcf.setDataStoreName("MyDSName");
mcf.setHostName("myHostNm");
mcf.setPortNumber(new Integer(1234));
...
//Criar connection factory de ManagedConnectionFactory
cf = (IMSConnectionFactory) mcf.createConnectionFactory();
O exemplo a seguir mostra o uso das interfaces CCI para executar um comando em um EIS.
public void execute() {
   try {
      ConnectionFactory cf = null;
      if (isManaged) {
         //Usar consulta JNDI para obter instância ConnectionFactory - assume-se 
         //que o connection factory possua o nome MyIMS de JNDI
         Context ic = new InitialContext();
         cf = (ConnectionFactory) ic.lookup("MyIMS");
      } else {
         //Criar e configurar valores para ManagedConnectionFactory
         IMSManagedConnectionFactory mcf = new IMSManagedConnectionFactory();
         mcf.setDataStoreName("MyDSName");
         mcf.setHostName("myHostNm");
         mcf.setPortNumber(new Integer(1234));
         //Criar connection factory de ManagedConnectionFactory
         cf = (IMSConnectionFactory) mcf.createConnectionFactory();
      }
      // Cria um objeto IMSConnection
      Connection connection = cf.getConnection();

      //Cria uma IMSInteraction a partir da conexão para
      //interagir com o IMS para executar a transação IVTNO (Phonebook)
      IMSInteraction interaction = (IMSInteraction) connection.createInteraction();
      IMSInteractionSpec ixnSpec = new IMSInteractionSpec();
      ixnSpec.setInteractionVerb(IMSInteractionSpec.SYNC_SEND_RECEIVE);

      //Criar novo registro de entrada 
      input = new PhoneBookInputRecordField("cp037");
      input.setIn__ll((short)59);
      input.setIn__zz((short) 0);
      input.setIn__trcd("IVTNO");
      input.setTranCodeLength(10);
      input.setIn__command("DISPLAY");
      input.setIn__name1("LAST3");
      input.setIn__name2("");
      input.setAllFieldsGiven(false);
      PhoneBookOutputRecordField

      //Criar novo registro de saída 
      output = new PhoneBookOutputRecordField("cp037");

      //Executa uma interação chamando o método execute()
      interaction.execute(ixnSpec, input, output);

      //Exibir saída
      System.out.println ("Output is: ");
      System.out.println("\nMessage: "
         + output.getOut__mesg()
         + "\nName:"
         + output.getOut__name1()
         + " "
         + output.getOut__name2()
         + "\nExtension: "
         + output.getOut__extn()
         + "\nZipcode: "
         + output.getOut__zip());

   } catch (Exception e) {
      e.printStackTrace();
      } finally {
      //Fechar a interação e a conexão
      interaction.close();
      connection.close();
   }
}

Feedback