3

Spring 3.1 で Spring MVC を使用しています。多くの REST サービスを使用する Web アプリケーションがあります。これらの REST サービスの 1 つは、応答に最大 1 時間かかります。これは変更できません。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 呼び出しを別のタイムアウト セットに設定できるようにしたいと考えています。これを行う方法についてのアイデアはありますか?

ありがとう、

ティム

4

1 に答える 1

1

メソッド呼び出しベースでこれを行うことはできません。つまり、restTemplateBean のすべての呼び出しは同じ基になる を使用しますClientHttpRequestFactory。異なるリクエストで異なるタイムアウト値を使用する場合は、複数のRestTemplateBean を宣言し、適切なビーンをビーンに注入します。

于 2013-09-25T16:56:51.400 に答える