Команда взаимодействия (interactionVerb)

Режим взаимодействия между приложением на Java™ и IMS. В следующей таблице перечислены значения, поддерживаемые IMS TM.
Табл. 1. Режим взаимодействия между приложением Java и IMS
Значение Именованная константа в IMSInteractionSpecProperties Описание
0 SYNC_SEND IMS TM отправляет запрос клиента IMS через IMS Connect и не ожидает ответа от IMS. При взаимодействии SYNC_SEND клиент не требует ответа от IMS. SYNC_SEND поддерживается на общих и выделенных постоянных сокетах и разрешено только в режиме фиксации 0.
Если свойство interactionVerb равно SYNC_SEND, значения тайм-аутов выполнения и сокета игнорируются.
Ограничение: Тип 2 запроса IMS (IMS_REQUEST_TYPE_IMS_COMMAND) нельзя использовать со взаимодействием SYNC_SEND (в этом случае возникает исключительная ситуация).
1

SYNC_SEND_RECEIVE

Взаимодействие IMS отправляет запрос в IMS и получает ответ в синхронном режиме.

Обычно взаимодействие SYNC_SEND_RECEIVE выполняет недиалоговую транзакцию IMS, в рамках которой в IMS отправляется запись ввода (сообщение ввода транзакции IMS), а IMS возвращает запись вывода (сообщение вывода транзакции IMS).

Взаимодействия SYNC_SEND_RECEIVE также используются для итераций диалоговых транзакций IMS. Для последних требуется режим фиксации 1. Недиалоговые транзакции могут выполняться в обоих режимах. Если режим 0 используется в сочетании с выделенным постоянным сокетом, то должно быть задано свойство clientID объекта IMSConnectionSpec. Если режим фиксации 0 используется в сочетании с общим постоянным сокетом, то свойство clientID объекта IMSConnectionSpec не должно быть задано.

3

SYNC_END_
CONVERSATION

Если приложение выполняет взаимодействие, указав в свойстве interactionVerb значение SYNC_END_CONVERSATION, IMS TM отправляет сообщение для принудительного завершения диалоговой транзакции IMS.

Свойство commitMode класса IMSInteractionSpec и свойство clientID класса IMSConnectionSpec не применяется, если задано значение SYNC_END_CONVERSATION в качестве команды взаимодействия.

4

SYNC_RECEIVE_
ASYNCOUTPUT

Взаимодействие SYNC_RECEIVE_ASYNCOUTPUT заменено на более конкретное SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_NOWAIT. SYNC_RECEIVE_ASYNCOUTPUT поддерживается для обеспечения совместимости с предыдущими версиями. Во всех новых приложениях следует использовать SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_NOWAIT или SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_WAIT.

5

SYNC_RECEIVE_
ASYNCOUTPUT_
SINGLE_NOWAIT

Взаимодействие SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_NOWAIT может применяться для соединений через общий и выделенный постоянный сокет. Предназначено для получения асинхронного вывода.

Взаимодействие SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_NOWAIT должно выполняться тем же приложением, что и взаимодействие SYNC_SEND или SYNC_SEND_RECEIVE, вывод которого запрашивается, и должно выполняться на том же общем постоянном соединении. Обычно такое взаимодействие требуется после тайм-аута выполнения.

С помощью взаимодействия такого типа клиент Java может получить только одно сообщение. Если при запросе в асинхронной очереди блокировки IMS OTMA нет сообщений для данного ИД клиента, дальнейшие попытки получить сообщение не предпринимаются. Никакое сообщение не возвращается. Через время, указанное в свойстве executionTimeout взаимодействия SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_NOWAIT, будет сообщено о тайм-ауте.

6

SYNC_RECEIVE_
ASYNCOUTPUT_
SINGLE_WAIT

Взаимодействие SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_WAIT используется для извлечения асинхронного вывода. Оно допустимо для соединений с общим и выделенным постоянным сокетом.

Взаимодействие SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_WAIT должно выполняться тем же приложением, что и взаимодействие SYNC_SEND или SYNC_SEND_RECEIVE, вывод которого запрашивается, и должно выполняться на том же общем постоянном соединении. Обычно такое взаимодействие требуется после тайм-аута выполнения.

С помощью взаимодействия такого типа клиент Java может получить только одно сообщение. Если при запросе в асинхронной очереди IMS OTMA нет сообщений для данного ИД клиента, IMS Connect будет ждать возврата сообщения из OTMA. IMS Connect ожидает в течение времени, указанного в свойстве executionTimeout взаимодействия SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_WAIT, прежде чем вернуть исключительную ситуацию.

7

SYNC_RECEIVE_
CALLOUT

Взаимодействие SYNC_RECEIVE_CALLOUT используется для приема сообщений синхронных и асинхронных внешних вызовов.

Тип принимаемых сообщений внешних вызовов (синхронный, асинхронный, синхронный и асинхронный) указывается в свойстве calloutRequestType.

В этом типе взаимодействий, если при запросе в асинхронной очереди блокировки IMS OTMA нет сообщений для указанного ИД клиента, IMS Connect будет ждать возврата сообщения из OTMA. Время ожидания IMS TM ответа от IMS Connect и OTMA определяется значением свойства executionTimeout.

Ограничение: Значение SYNC_RECEIVE (2) архитектуры соединения J2EE (JCA) не поддерживается.

Комментарии