Пример текста приложения CCI

Этот пример кода приложения CCI показывает способ получения соединений и объект IMSInteraction для выполнения транзакции IMS.

В управляемых средах используйте CCI API для поиска экземпляра IMSConnectionFactory в пространстве имени JNDI с последующим использованием для получения экземпляра IMSConnection.

ConnectionFactory cf = null;
if (isManaged) {
   //Use JNDI lookup to get ConnectionFactory instance 
   //Assume the connection factory has a JNDI name of MyIMS
   Context ic = new InitialContext();
   cf = (ConnectionFactory) ic.lookup("MyIMS");
 

Если JNDI не настроен, в приложении CCI можно вручную настроить объект IMSManagedConnectionFactory и использовать его для получения фабрики соединений.

IMSManagedConnectionFactory mcf = new IMSManagedConnectionFactory();
mcf.setDataStoreName("MyDSName");
mcf.setHostName("myHostNm");
mcf.setPortNumber(new Integer(1234));
...
//Создание фабрики соединений из ManagedConnectionFactory
cf = (IMSConnectionFactory) mcf.createConnectionFactory();
В следующем примере показано применение интерфейсов CCI для выполнения команды в системе EIS.
public void execute() {
   try {
      ConnectionFactory cf = null;
      if (isManaged) {
         //Использование поиска JNDI для получения экземпляра ConnectionFactory - допустим, 
         //имя JNDI фабрики соединений - MyIMS
         Context ic = new InitialContext();
         cf = (ConnectionFactory) ic.lookup("MyIMS");
      } else {
         //Создание и установка значений ManagedConnectionFactory
         IMSManagedConnectionFactory mcf = new IMSManagedConnectionFactory();
         mcf.setDataStoreName("MyDSName");
         mcf.setHostName("myHostNm");
         mcf.setPortNumber(new Integer(1234));
         //Создание фабрики соединений из ManagedConnectionFactory
         cf = (IMSConnectionFactory) mcf.createConnectionFactory();
      }
      // Создание объекта IMSConnection
      Connection connection = cf.getConnection();

      //Создание IMSInteraction из соединения для
      //взаимодействия с IMS для выполнения транзакции IVTNO (телефонная книга)
      IMSInteraction interaction = (IMSInteraction) connection.createInteraction();
      IMSInteractionSpec ixnSpec = new IMSInteractionSpec();
      ixnSpec.setInteractionVerb(IMSInteractionSpec.SYNC_SEND_RECEIVE);

      //Создание новой входной записи 
      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

      //Создание новой выходной записи 
      output = new PhoneBookOutputRecordField("cp037");

      //Выполнение взаимодействия с помощью вызова метода execute()
      interaction.execute(ixnSpec, input, output);

      //Вывод на дисплей
      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 {
      //Закрытие взаимодействия и соединения
      interaction.close();
      connection.close();
   }
}

Комментарии