Для того чтобы приложение клиента управляло всеми итерациями в диалоге, свойство useConvID класса IMSInteractionSpec должно иметь значение true.
Об этой задаче
Для того чтобы включить клиент Java для транзакций диалога IMS с помощью модели программирования состояния диалога, управляемого клиентом:
Процедура
- Из объекта IMSConnectionFactory извлеките описатель соединения.
В данной программной модели можно использовать один и тот же или разные описатели соединения для последовательных итераций. Эти описатели должны принадлежать к одному объекту IMSConnectionFactory. экземпляр.
- Задайте для свойства IMSInteractionSpec значение true. Значение данного свойства должно оставаться true для всех итераций диалога. Если во время диалога флаг useConvID меняется, появится ошибка.
- Укажите значение свойства IMSInteractionSpec commitMode как 1.
- Укажите соответствующее значение свойства syncLevel, основываясь на проекте приложения.
- Для первой итерации укажите значение свойства IMSInteractionSpec convID в виде пустой строки.
- Для всех последующих итераций укажите значение свойства convID, соответствующее значению свойства convID, возвращенного в предыдущей итерации.
- Если окончание диалога управляется клиентским приложением, для последней итерации укажите значение свойства IMSInteractionSpec interactionVerb как SYNC_END_CONVERSATION.
Рекомендация: При использовании программной модели диалогового состояния под управлением клиента необходимо использовать локальные ссылки на каждый запрос в клиентском приложении или сервлет вместо ссылок, распространяющихся на все приложение.
С помощью такого подхода можно избежать проявлений "гонки", которые могут возникнуть в клиентском приложении в связи с нагрузкой или пиковой нагрузкой, которые нарушают целостность данных диалога. Если клиентское приложение создано на основе браузера, необходимо тщательно спроектировать навигацию, чтобы диалоговый запрос не мог быть случайно отправлен повторно.
Это может произойти, если пользователь нажимает кнопку браузера Назад, что приводит к повторной отправке запроса и началу дополнительного диалога.