Я хотел бы установить таймауты подключения для службы отдыха, используемой моим веб-приложением. Я использую Spring RestTemplate, чтобы поговорить с моей службой. Я провел некоторое исследование, и я нашел и использовал xml ниже (в моем приложении xml), который, как мне кажется, предназначен для установки таймаута. Я использую Spring 3.0.
Я также видел ту же проблему здесь Конфигурация тайм-аута для Spring веб-сервисов с RestTemplate, но решения не кажутся такими чистыми, я бы предпочел установите значения таймаута через Spring config
<bean id="RestOperations" class="org.springframework.web.client.RestTemplate">
<constructor-arg>
<bean class="org.springframework.http.client.CommonsClientHttpRequestFactory">
<property name="readTimeout" value="${restURL.connectionTimeout}" />
</bean>
</constructor-arg>
</bean>
Кажется, все, что я установил readTimeout, получаю следующее:
Сетевой кабель отсоединен: Ожидает около 20 секунд и сообщает следующее исключение:
org.springframework.web.client.ResourceAccessException: Ошибка ввода-вывода: нет пути к хосту: connect; Вложенное исключение - это java.net.NoRouteToHostException: нет пути к хосту: connect
URL неправильный, поэтому 404 возвращен службой отдыха: Ожидает около 10 секунд и сообщает следующее исключение:
org.springframework.web.client.HttpClientErrorException: 404 Не найдено
Мои требования требуют более коротких тайм-аутов, поэтому мне нужно их изменить. Любые идеи относительно того, что я делаю неправильно?
Большое спасибо.