Uploaded image for project: 'HttpComponents HttpClient'
  1. HttpComponents HttpClient
  2. HTTPCLIENT-1921

Time out values not correctly used

    XMLWordPrintableJSON

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

      Attachments

        1. httpclient.zip
          37 kB
          elise badr
        2. FirstTime.png
          38 kB
          elise badr
        3. thirdTime.png
          33 kB
          elise badr
        4. secondTime.png
          27 kB
          elise badr
        5. socketTimeoutScenarioResult.png
          92 kB
          elise badr
        6. oldJarSocketTimeoutScenarioResult.png
          63 kB
          elise badr

        Activity

          People

            Unassigned Unassigned
            elise.badr.cme elise badr
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: