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

Time out values not correctly used

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Blocker
    • Resolution: Invalid
    • Affects Version/s: 4.5.5
    • Fix Version/s: None
    • Component/s: 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. thirdTime.png
          33 kB
          elise badr
        2. socketTimeoutScenarioResult.png
          92 kB
          elise badr
        3. secondTime.png
          27 kB
          elise badr
        4. oldJarSocketTimeoutScenarioResult.png
          63 kB
          elise badr
        5. httpclient.zip
          37 kB
          elise badr
        6. FirstTime.png
          38 kB
          elise badr

          Activity

            People

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

              Dates

              • Created:
                Updated:
                Resolved: