Я хотів би встановити тайм-аути підключення для послуги відпочинку, використовуваної моєю веб-програмою. Я використовую Spring's 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 Не знайдено
Мої вимоги потребують коротших тайм-аутів, тому мені потрібно мати змогу змінити їх. Будь-які ідеї щодо того, що я роблю неправильно?
Велике дякую.
new
заяву вSpring Boot
прикладі