Настройка тайм-аута сокета

При установке значения для тайм-аута сокета необходимо помнить, что оно должно быть больше тайм-аута выполнения.

Свойство 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, выполните следующие действия:

  1. Откройте Java файл привязки IMS в редакторе Java.
  2. Найдите тег doclet для класса IMSInteractionSpec.
  3. Добавьте в этот тег свойство socketTimeout и укажите его значение. Если это свойство уже задано, измените его значение.
  4. Снова выберите элемент расширения операции, чтобы указать на внесение изменений.
  5. Закройте редактор и нажмите Да для сохранения изменений.

Комментарии