Тайм-аут сокета

Тайм-аут сокета - это максимальное время, в течение которого адаптер ресурсовIMS TM (также называемый IMS Connector for Java) ожидает ответа от IMS Connect перед отсоединением от сокета и возвратом приложению клиента сообщения об исключительной ситуации.

Свойство socketTimeout позволяет избежать зависания системы клиента из-за того, что адаптер ресурсов IMS будет бесконечно ждать ответа от IMS Connect в случае неполадок сети или ошибок маршрутизации. Поскольку свойство socketTimeout предназначено только для сокетов TCP/IP, используемых для связи междуIMS Connect и адаптером ресурсов IMS, оно игнорируется при использовании протокола Local Option.

С помощью свойства socketTimeout можно настроить свое значение тайм-аута для каждого взаимодействия через сокет. Значение тайм-аута в миллисекундах настраивается в свойстве socketTimeout объекта IMSInteractionSpec. Если свойство socketTimeout не определено или равно нулю, значит время ожидания не ограничено. Значение по умолчанию равно нулю.

При настройке тайм-аута сокета следует учитывать величину других тайм-аутов. Например: тайм-аут сеанса браузера, тайм-аут выполнения, тайм-аут транзакции EJB, тайм-аут соединения WebSphere Application Server и тайм-аут сеанса HTTP, используемый сервлетами и сеансовыми объектами EJB с сохранением состояния.

Если для взаимодействия задан допустимый тайм-аут сокета, то в случае его превышения генерируются исключительные ситуации java.io.IOInterruptedException и javax.resource.spi.CommException (J2EE JCA). Сообщение об исключительной ситуации J2EE JCA говорит о том, что для связи с IMS Connect клиенту потребовалось больше времени, чем было отведено свойством socketTimeout.


Комментарии