Я хотел бы установить таймауты подключения для службы отдыха, используемой моим веб-приложением. Я использую Spring RestTemplate, чтобы поговорить со своим сервисом. Я провел небольшое исследование, нашел и использовал приведенный ниже xml (в моем приложении xml), который, как мне кажется, предназначен для установки тайм-аута. Я использую Spring 3.0.
Я также видел здесь ту же проблему Конфигурация тайм-аута для весенних веб-сервисов с RestTemplate, но решения не кажутся чистыми, я бы предпочел установить значения тайм-аута через конфигурацию Spring
<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: Ошибка ввода-вывода: Нет маршрута к хосту: подключиться; вложенное исключение - java.net.NoRouteToHostException: Нет маршрута к хосту: подключиться
Неверный URL, поэтому служба отдыха вернула 404: ожидает около 10 секунд и сообщает следующее исключение:
org.springframework.web.client.HttpClientErrorException: 404 не найдено
Мои требования требуют более коротких тайм-аутов, поэтому мне нужно иметь возможность их изменить. Есть идеи относительно того, что я делаю неправильно?
Большое спасибо.