【发布时间】:2018-05-02 11:01:23
【问题描述】:
在升级到 Spring 4 时,我们不得不更改 http 调用程序的上下文配置以匹配 http-client 4.4.9 和 http-core 4.5.5,如下所示:
<bean id="requestConfigBuilder" class="org.apache.http.client.config.RequestConfig" factory-method="custom">
<property name="socketTimeout" value="${connection.timeout}" />
<property name="connectTimeout" value="${connection.timeout}" />
<property name="staleConnectionCheckEnabled" value="${connection.doStaleCheck}"/>
<property name="connectionRequestTimeout" value="${connection.poolTimeout}" />
</bean>
<bean id="requestConfig" factory-bean="requestConfigBuilder" factory-method="build" />
<bean id="httpClientBuilder" class="org.apache.http.impl.client.HttpClientBuilder" factory-method="create">
<property name="defaultRequestConfig" ref="requestConfig" />
<property name="maxConnTotal" value="${connection.maxActive}" />
<property name="maxConnPerRoute" value="${connection.maxActive}" />
</bean>
<bean id="httpClientBld" factory-bean="httpClientBuilder" factorymethod="build" />
但是,在测试时,套接字超时和连接超时似乎无法正常工作......它总是等待大约 1000 毫秒的连接超时和 60000 毫秒的套接字超时,而不是配置的值。
【问题讨论】:
标签: spring timeout httpclient