Details
-
Bug
-
Status: Resolved
-
Blocker
-
Resolution: Invalid
-
4.5.5
-
None
-
None
Description
I was obliged to migrate to httpclient 4.5.5 and httpcore 4.4.9 while i was upgrading to Spring 4.
I started using the following configuration to set my time out values:
<bean id="httpClient" class="org.springframework.remoting.httpinvoker.HttpComponentsHttpInvokerRequestExecutor">
<property name="httpClient" ref="httpClientBld"/>
</bean>
<bean id="requestConfigBuilder" class="org.apache.http.client.config.RequestConfig" factory-method="custom">
<property name="socketTimeout" value="3000" />
<property name="connectTimeout" value="4000" />
<property name="staleConnectionCheckEnabled" value="true"/>
<property name="connectionRequestTimeout" value="2000" />
</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="2" />
<property name="maxConnPerRoute" value="2" />
</bean>
<bean id="httpClientBld" factory-bean="httpClientBuilder" factory-method="build" />
However, while testing, the socket time out and connection time out doesn't seem to be working correctly... it always waits around 1000 ms for the connection timeout and 60000 for the socket time out instead of the configured values. The request connection time out seems to be working fine.
Can you please help... is it a bug from your side? or a wrong configuration from my side?
Note that it seems the issues exists also in older versions as the following link from stack overflow discuss a similar issue for an older version: https://stackoverflow.com/questions/21576414/setting-time-out-in-apache-http-client
Note that it was working fine before with Spring 3 requiring commons http client