Spring MVC - 如何为resttemplate使用不同的超时?

时间:2013-09-25 16:10:35

标签: java spring rest spring-mvc resttemplate

我在Spring 3.1中使用Spring MVC。我有一个使用许多REST服务的Web应用程序。其中一个REST服务需要一个小时才能响应 - 我无法改变。我将RestTemplate的超时设置为这样,超时设置为60分钟:

<bean id="restTemplate" class="org.springframework.web.client.RestTemplate ">
    <constructor-arg>
        <bean class="org.springframework.http.client.CommonsClientHttpRequestFactory">
            <property name="readTimeout" value="3600000" />
            <property name="connectTimeout" value="3600000" />
        </bean>
    </constructor-arg>
</bean>

我希望能够将所有其他REST调用设置为一组不同的超时。关于如何做到这一点的任何想法?

谢谢,

1 个答案:

答案 0 :(得分:1)

您无法在方法调用的基础上执行此操作。换句话说,restTemplate bean上的所有调用都将使用相同的底层ClientHttpRequestFactory。如果您希望不同的请求使用不同的超时值,请声明多个RestTemplate bean并在bean中注入适当的bean。