При взаимодействии приложения Java с IMS объект IMSInteractionSpec должен быть настроен. Значения свойств IMSInteractionSpec описывают взаимодействие с IMS. Значения свойств IMSInteractionSpec можно задавать непосредственно с помощью методов установки или с помощью мастера IDE, генерирующего код для приложения. Свойства могут быть либо только ввода, либо ввода и вывода, либо только вывода. Дополнительную информацию о взаимодействии дает опрос приложением Java (другое название - элемент приложения) свойств вывода.
Ниже описаны все свойства объекта IMSInteractionSpec:
Значение | Именованная константа в IMSInteractionSpecProperties | Описание |
---|---|---|
1 | IMS_REQUEST_TYPE_IMS_ |
Запрос является транзакцией
IMS.
Сообщение вывода заполняется обычным выводом транзакции
IMS.
Если IMS возвращает сообщение "DFS", адаптер ресурсов IMS генерирует исключительную ситуацию IMSDFSMessageException, содержащую сообщение "DFS". Значение imsRequestType используется для приложений, которые не были сгенерированы с помощью компонента поддержки MFS WebSphere Studio. |
2 | IMS_REQUEST_TYPE_IMS_COMMAND | Запрос является командой
IMS.
Сообщение вывода заполняется выводом команды IMS, в том числе сообщениями
"DFS". Исключительная ситуация IMSDFSMessageException не генерируется. Это значение свойства imsRequestType используется для приложений, отправляющих команды IMS. |
3 | IMS_REQUEST_TYPE_MFS_ |
Значение imsRequestType используется для
приложений, сгенерированных компонентом поддержки MFS
WebSphere
Studio. Сообщение вывода заполняется обычным выводом транзакции IMS и сообщениями "DFS". Исключительная ситуация IMSDFSMessageException не генерируется. |
Значение | Именованная константа в IMSInteractionSpecProperties | Описание |
---|---|---|
0 | SYNC_SEND | Адаптер ресурсов IMS TM отправляет запрос клиента IMS через IMS Connect и не ожидает ответа от IMS. При взаимодействии SYNC_SEND клиент не требует ответа от IMS. Опция SYNC_SEND поддерживается как на общих, так и на выделенных постоянных сокетах и доступна только в режиме фиксации 0. Если interactionVerb равен SYNC_SEND, значения тайм-аутов выполнения и сокета игнорируются. Примечание: imsRequest типа 2 несовместим с 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 и clientID объекта InteractionSpec при этом игнорируются. |
4 | SYNC_RECEIVE_ASYNCOUTPUT | Значение interactionVerb SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_NOWAIT может применяться для соединений с общим и выделенным постоянным сокетом. Значение SYNC_RECEIVE_ASYNCOUTPUT предназначено для получения недоставленного асинхронного вывода. Если значение SYNC_RECEIVE_ASYNCOUTPUT используется в сочетании с выделенным постоянным сокетом,
то необходимо указать свойство clientID объекта IMSConnectionSpec. Взаимодействие SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_NOWAIT должно выполняться тем же приложением, что и взаимодействие SYNC_SEND или SYNC_SEND_RECEIVE, вывод которого запрашивается, и должно выполняться на том же общем постоянном соединении. Обычно такое взаимодействие требуется после тайм-аута выполнения. С помощью взаимодействия такого типа клиент Java может получить только одно сообщение. Если в очереди асинхронного вывода IMS OTMA нет сообщений для переданного в запросе clientID, то другие попытки получить сообщение не предпринимаются. Никакое сообщение не возвращается. Через время, указанное в свойстве executionTimeout взаимодействия SYNC_RECEIVE_ASYNCOUTPUT, будет сообщено о тайм-ауте. |
5 | SYNC_RECEIVE_ASYNCOUTPUT_ |
interactionVerb SYNC_RECEIVE_ASYNCOUTPUT_ Взаимодействие
SYNC_RECEIVE_ASYNCOUTPUT_ С помощью взаимодействия такого типа клиент Java может получить только
одно сообщение. Если в очереди асинхронного вывода IMS OTMA нет сообщений для переданного в
запросе clientID, то другие попытки получить сообщение не предпринимаются. Через время, указанное
в свойстве executionTimeout взаимодействия
SYNC_RECEIVE_ASYNCOUTPUT_ Примечание: Значения interactionVerbs,
SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_NOWAIT и
SYNC_RECEIVE_ASYNCOUTPUT_ SYNC_RECEIVE_ASYNCOUTPUT_ |
6 | SYNC_RECEIVE_ASYNCOUTPUT_ |
interactionVerb SYNC_RECEIVE_ASYNCOUTPUT_ Взаимодействие
SYNC_RECEIVE_ASYNCOUTPUT_ С помощью взаимодействия такого типа клиент Java может получить только
одно сообщение. Если в очереди асинхронного вывода IMS OTMA нет сообщений для переданного в
запросе clientID, то IMS Connect ждет, пока OTMA вернет сообщение. Время ожидания IMS Connect
ограничено
значением свойства executionTimeout взаимодействия
SYNC_RECEIVE_ASYNCOUTPUT_ |
Значения SYNC_RECEIVE (2) архитектуры соединения J2EE (JCA) не поддерживаются.
Это свойство позволяет приложению клиента указать собственное имя LTERM. Оно будет находиться в I/O PCB прикладной программы IMS, и на его основе приложение IMS будет принимать соответствующие решения.
Это свойство позволяет приложению клиента указать собственное имя LTERM. Оно будет находиться в I/O PCB прикладной программы IMS, и на его основе приложение IMS будет принимать соответствующие решения.
Во вводе значение mapName обычно совпадает с именем дескриптора вывода MFS, или "MOD". Имя MOD передаётся прикладной программе IMS в I/O PCB.
В выводе значение mapName всегда равно имени описателя вывода MFS, или "MOD". Это имя MOD, указанное прикладной программой IMS при добавлении сообщения вывода транзакции в I/O PCB.
Примечание: Поле mapName не должно использоваться приложениями на Java, работающими со службами, ввод и вывод которых создается компонентом поддержки MFS WebSphere Studio.
Во вводе значение mapName обычно совпадает с именем дескриптора вывода MFS, или "MOD". Имя MOD передаётся прикладной программе IMS в I/O PCB.
В выводе значение mapName всегда равно имени описателя вывода MFS, или "MOD". Это имя MOD, указанное прикладной программой IMS при добавлении сообщения вывода транзакции в I/O PCB.
Поле mapName не должно использоваться приложениями на Java, работающими со службами, ввод и вывод которых создается компонентом поддержки MFS WebSphere.
Это свойство предназначено только для взаимодействий, использующих команду взаимодействия IMS SYNC_SEND_RECEIVE и соединение с общим постоянным сокетом. Его нельзя указывать для взаимодействий, использующих соединения с выделенным постоянным сокетом. Данное свойство относится к взаимодействиям с режимом фиксации 0. Оно не применяется для взаимодействий с режимом фиксации 1. При переключении между программами в рамках взаимодействия с режимом фиксации 1 новая программа будет работать в режиме фиксации 0 и, следовательно, будет использовать это свойство.
Это свойство предназначено только для взаимодействий, использующих команду взаимодействия IMS SYNC_SEND_RECEIVE и соединение с общим постоянным сокетом. Его нельзя указывать для взаимодействий, использующих соединения с выделенным постоянным сокетом. Данное свойство относится к взаимодействиям с режимом фиксации 0. Оно не применяется для взаимодействий с режимом фиксации 1. При переключении между программами в рамках взаимодействия с режимом фиксации 1 новая программа будет работать в режиме фиксации 0 и, следовательно, будет использовать это свойство. Это свойство определяет, следует ли перенаправлять недоставленный вывод в целевое расположение, указанное в поле reRouteName. Если reRoute равно TRUE, то асинхронный вывод не помещается в очередь TPIPE, связанную с автоматически созданным clientID. Вместо этого он записывается в целевое расположение, заданное в поле reRouteName. По умолчанию это свойство равно FALSE.
Если значение TRUE присвоено как reRoute, так и purgeAsyncOutput, то генерируется исключительная ситуация.
Это свойство предназначено только для взаимодействий SYNC_SEND_RECEIVE, использующих соединения с общим постоянным сокетом. Его нельзя указывать для взаимодействий, использующих соединения с выделенным постоянным сокетом.