Тип выданной исключительной ситуации определяет, можно ли получить выходное сообщение. Например, если клиент Java получил сообщение IMSDFSMessageException, указывающее на то, что транзакция остановлена, значит приложение не было запущено. Таким образом, выходное сообщение отсутствует. Однако если транзакция была запущена, но выходное сообщение не было получено IMS Connect до наступления executionTimeout, клиент Java получит исключительную ситуацию EISSystemException. Эта исключительная ситуация означает, что наступил тайм-аут выполнения. В этом случае выходное сообщение будет помещено в соответствующую очередь асинхронного вывода IMS OTMA или tpipe для дальнейшего извлечения.
В общем случае, взаимодействия асинхронного вывода ,SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_NOWAIT или SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_WAIT, можно использовать для извлечения выходных сообщений, помещенных в очередь любого ИД клиента, независимо от того, каким образом они поступили в очередь соответствующего ИД клиента. Сообщения могут поступить в очередь в результате либо сбоя транзакции в режиме фиксации 0, либо отправки их приложением IMS, которое выдало вызов INSERT в ALTPCB (альтернативный блок связи программ).
Например, в случае извлечения выходного сообщения транзакции в режиме фиксации 0, завершившейся сбоем, ИД клиента, предоставленный в IMSConnectionSpec для запроса извлечения, должен соответствовать ИД клиента, который был указан в данной транзакции. Если в очереди асинхронного вывода OTMA нет сообщения, соответствующего данному ИД клиента, то возникнет исключительная ситуация тайм-аута выполнения. Исключительная ситуация тайм-аута выполнения может означать одну из следующих двух возможностей:
Для обоих типов взаимодействий асинхронного вывода, тайм-аут выполнения - это интервал времени, в течение которого IMS Connect ожидает ответа от IMS. Если для запроса извлечения не указано значение тайм-аута выполнения, используется значение тайм-аута выполнения по умолчанию. Значение тайм-аута по умолчанию - это значение TIMEOUT из конфигурации IMS Connect. Вам может потребоваться опытным путем определить оптимальное значение тайм-аута выполнения, чтобы выходные сообщения возвращались для всех типов взаимодействий.