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

Соединения с выделенными постоянными сокетами можно использовать только для взаимодействий в режиме фиксации 0.

Следующий сценарий описывает взаимодействие SYNC_SEND_RECEIVE в режиме фиксации 0 через выделенный постоянный сокет в случае обычной обработки, обработки ошибок и тайм-аута выполнения.

Сценарий обычной обработки

Когда приложение клиента запускает взаимодействие SYNC_SEND_RECEIVE в режиме фиксации 0, сервер приложений возвращает существующее соединение с пользовательским ИД клиента или создает новое соединение с пользовательским ИД клиента. Пользовательский ИД клиента определяет соединение с сокетом и tpipe, связанный с очередью асинхронной блокировки OTMA.

IMS TM проверяет, связан ли сокет с соединением, и отправляет через этот запрос с данными ввода в IMS Connect. Затем IMS Connect направляет сообщение в IMS, в то время как IMS выполняет транзакцию и возвращает сообщение вывода. При получении сообщений вывода IMS TM посылает сообщение ACK в IMS, говорящее о том, что IMS должна удалить сообщения вывода из очереди IMS. При закрытом соединении или завершении работы приложения соединение возвращается в пул для использования другим приложением, использующим взаимодействия с режимом фиксации 0 и тем же пользовательским ИД клиента.

Сценарий обработки ошибок

При возникновении любой ошибки приложению клиента передается информация об исключительной ситуации ресурса. Кроме того, при возникновении некоторых ошибок IMS Connect разъединяет соединение с сокетом. В случае взаимодействий в режиме фиксации 0, исключительная ситуация означает, что сообщение вывода не может быть доставлено в приложение-клиент. Недоставленные сообщения вывода помещаются в очередь tpipe, связанную с пользовательским ИД клиента.

Свойства purgeAsyncOutput и reRoute не применяются к выделенным постоянным сокетам. В выделенном постоянном сокете нельзя удалить или перенаправить недоставленные сообщения вывода.

Сценарий тайм-аута выполнения

При возникновении тайм-аута выполнения сокет остается открытым, а вывод взаимодействия с режимом фиксации 0 помещается в очередь tpipe, связанную с пользовательским ИД клиента, для дальнейшего извлечения. При закрытом соединении или завершении работы приложения объект IMSManagedConnection возвращается в пул соединений для использования другим приложением, использующим взаимодействия с режимом фиксации 0 и тем же пользовательским ИД клиента.


Комментарии