Свойство executionTimeout задает максимальное время, за которое IMS Connect должен отправить сообщение в IMS и получить ответ от IMS. Значение тайм-аута сокета более глобально, чем значение тайм-аута выполнения. Следовательно, значение тайм-аута сокета должно быть больше значения тайм-аута выполнения, поскольку в противном случае тайм-аут сокета может достигаться в непредусмотренных ситуациях. В следующей таблице перечислены рекомендуемые значения тайм-аута сокета для различных значений тайм-аута выполнения.
Тайм-аут выполнения, мс | Обработка тайм-аута выполнения | Рекомендуемый тайм-аут сокета |
0 (или пусто) | Применяется значение по умолчанию из файла конфигурации IMS Connect. | Тайм-аут сокета должен быть больше тайм-аута выполнения по умолчанию, заданного в файле конфигурации IMS Connect. |
1 - 36000000 | Тайм-аут возникает в том случае, если ответ не доставляется за указанное время. | Тайм-аут сокета должен быть больше тайм-аута выполнения. |
-1 | Время ожидания ответа не ограничено. | Установите тайм-аут сокета, равный 0, для того чтобы соединение могло бесконечно находиться в состоянии ожидания. |
Тайм-аут сокета можно установить двумя способами. Для обращения к методам доступа объекта IMSInteractionSpec можно использовать общий интерфейс клиентов JCA (CCI). Кроме того, можно применять инструменты, предусмотренные в IDE платформ Rational Software Developer, такие как Rational Application Developer с дополнительными возможностями Архитектуры коннекторов J2EE (J2C).
Настройка тайм-аута сокета в приложении CCI
В приложении CCI можно использовать метод setSocketTimeout класса IMSInteractionSpec. Для его вызова создайте экземпляр IMSInteractionSpec или воспользуйтесь объектом IMSInteractionSpec из текущего взаимодействия и задайте значение тайм-аута сокета для указанного объекта с помощью метода setSocketTimeout, предусмотренного в классе IMSInteractionSpec. Например:
interactionSpec.setSocketTimeout(timeoutValue1); interaction.execute(interactionSpec,input,output); interactionSpec.setSocketTimeout(timeoutValue2); interaction.execute(interactionSpec,input,output);
Настройка тайм-аута сокета с помощью Rational Application Developer
С помощью Rational Application Developer можно настроить тайм-аут сокета при определении свойств привязки IMS для нового объекта Java Bean J2C.
Для того чтобы изменить ранее определённые свойства привязки для нового объекта Java Bean J2C, выполните следующие действия: