Программная модель Только отправить

Используйте модель Только отправить для выполнения транзакции в режиме Без ответа IMS в Администраторе транзакций IMS (IMS TM).

Для запуска транзакции в режиме без ответа в IMS TM приложением Java™ выполняется взаимодействие SYNC_SEND. При вызове приложением IMS TM взаимодействия SYNC_SEND адаптер ресурсов IMS TM отправляет запрос в IMS через IMS Connect и не ожидает ответа от IMS. Поскольку IMS TM "только отправляет" данные системе IMS, взаимодействие SYNC_SEND обычно используется в транзакциях в режиме без ответа.

Для использования взаимодействия SYNC_SEND в транзакции приложение должно указать значение SYNC_SEND для свойства interactionVerb и значение 0 для свойства commitMode объекта IMSInteractionSpec, используемого методом execute. Способ выполнения взаимодействия SYNC_SEND зависит от типа соединения с сокетом (оно может быть общим или выделенным) и типа выполняемой транзакции IMS.

Важное замечание: Свойства IMSInteractionSpec: purgeAsycOutput, reRoute и reRouteName не применяются к взаимодействиям и игнорируются в IMS TM.

Модель обработки для общих постоянных сокетов

Следующие сценарии описывают взаимодействие SYNC_SEND через общий постоянный сокет для разных типов транзакций.
  • Транзакция в режиме без ответа

    Прикладная программа IMS, связанная с транзакцией, для которой в IMS настроен режим с ответом, обычно добавляет выходное сообщение в PCB ввода-вывода. Таким образом, сообщение вывода не создается и в очередь tpipe не помещается ничего.

  • Транзакция в режиме с ответом

    Приложение IMS, связанное с транзакцией, для которой в IMS настроен режим без ответа, обычно добавляет выходное сообщение в PCB ввода-вывода. Поскольку IMS TM не ожидает ответа при взаимодействии SYNC_SEND, любые добавляемые выходные сообщения помещаются в очередь tpipe с именем, совпадающим с ИД клиента. Для получения ответа взаимодействия SYNC_SEND можно использовать взаимодействия SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_NOWAIT и SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_WAIT, запустив их сразу после SYNC_SEND в том же приложении и том же соединении.

  • Транзакции (как с ответом, так и без), вызывающие прикладную программу IMS, которая добавляет сообщение в альтернативный PCB

    Для извлечения сообщения, помещенного в альтернативный PCB, необходимо запустить взаимодействие по соединению с выделенным постоянным сокетом. Для того чтобы вставить это сообщение обратитесь к обсуждению асинхронного вывода на соединениях выделенного постоянного сокета в разделе "Программная модель асинхронного вывода".

Модель обработки для выделенных постоянных сокетов

Следующие сценарии описывают взаимодействие SYNC_SEND через выделенный постоянный сокет для разных типов транзакций. Взаимодействия SYNC_SEND используют режим фиксации 0. Это существенно, так как соединения с выделенным постоянным сокетом можно использовать только для взаимодействий в режиме фиксации 0.
  • Транзакция в режиме без ответа

    Прикладная программа IMS, связанная с транзакцией, для которой в IMS настроен режим с ответом, обычно добавляет выходное сообщение в PCB ввода-вывода. Таким образом, сообщение вывода не создается и в очередь tpipe не помещается ничего.

  • Транзакция в режиме с ответом

    Прикладная программа IMS, связанная с транзакцией, для которой в IMS настроен режим без ответа, обычно добавляет сообщение вывода в PCB ввода-вывода. Поскольку IMS TM не ожидает ответа при взаимодействии SYNC_SEND, любые добавляемые выходные сообщения помещаются в очередь tpipe с именем, совпадающим с ИД клиента. Сообщения, сохраненные в tpipe этого типа, можно извлекать с помощью взаимодействий SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_NOWAIT или SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_WAIT. Имя tpipe - это ИД клиента, заданный для взаимодействия SYNC_SEND. ИД клиента задается при настройке соединения с выделенным постоянным сокетом.

  • Транзакции (как с ответом, так и без), вызывающие приложение IMS, которое добавляет сообщение в альтернативный PCB

    Для извлечения сообщения, помещенного в альтернативный PCB, необходимо запустить взаимодействие по соединению с выделенным постоянным сокетом. Дополнительная информация находится в разделе "Программная модель асинхронного вывода".


Комментарии