Web アプリケーションで使用される REST サービスの接続タイムアウトを設定したいと考えています。Spring の RestTemplate を使用してサービスと通信しています。私はいくつかの調査を行い、タイムアウトを設定するためのものであると思われる以下の xml (アプリケーション xml 内) を見つけて使用しました。私はSpring 3.0を使用しています。
ここでも同じ問題を見てきましたRestTemplate を使用したSpring Webサービスのタイムアウト構成ですが、ソリューションはそれほどクリーンではないようです。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: I/O エラー: ホストへのルートがありません: connect; ネストされた例外は java.net.NoRouteToHostException: No route to host: connect です
URL が正しくないため、残りのサービスから 404 が返されました: 約 10 秒待機し、次の例外を報告します:
org.springframework.web.client.HttpClientErrorException: 404 が見つかりません
私の要件ではタイムアウトを短くする必要があるため、これらを変更できる必要があります。私が間違っていることについてのアイデアはありますか?
どうもありがとう。