В управляемых средах используйте 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();
}
}