最佳答案
我想为我的 Web 应用程序使用的一个休息服务设置连接超时。我正在使用 Spring 的 RestTemplate
与我的服务通话。我做了一些研究,找到并使用了下面的 xml (在我的应用程序 xml 中) ,我相信它是用来设置超时的。我用的是 Spring 3.0。
我在这里也看到了同样的问题 使用 RestTemplate 的 Spring webservices 的超时配置,但是解决方案似乎不像 干净,我更喜欢通过 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秒,并报告以下异常:
I/O 错误: 没有到 host: connect 的路由; 嵌套异常是
java.net.NoRouteToHostException
: 没有到 host: connect 的路由
Url 不正确,因此404通过休息服务返回: 等待约10秒,并报告以下异常:
未找到
我的需求需要更短的超时时间,所以我需要能够更改这些。知道我哪里做错了吗?
非常感谢。