После более подробного изучения этой проблемы выяснилось, что проблема в Spring 4 возникла не из jar-файла http-клиента, а только в том случае, если значения тайм-аута передаются XML-файлом конфигурации контекста. В качестве решения мы программно устанавливаем значения времени ожидания
CloseableHttpClient httpClient = (CloseableHttpClient) context.getBean("httpClientBld");
HttpComponentsHttpInvokerRequestExecutor executor = new HttpComponentsHttpInvokerRequestExecutor(httpClient);
HttpInvokerProxyFactoryBean httpInvokerProxyFactoryBean = new HttpInvokerProxyFactoryBean();
httpInvokerProxyFactoryBean.setServiceInterface(InterfaceClass.class);
httpInvokerProxyFactoryBean.setServiceUrl(endpoint);
httpInvokerProxyFactoryBean.setHttpInvokerRequestExecutor(executor);
httpInvokerProxyFactoryBean.afterPropertiesSet();
this.cainServer = (InterfaceClass) httpInvokerProxyFactoryBean.getObject();
В контексте, который мы только что использовали:
<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" factory-method="build" />
где значения передаются из кода Java.
Обратите внимание, что одна проблема все еще остается, это то, что время соединения все еще составляет 100 мс, а не настроенный. Но эта проблема из http клиента jar, а не из Spring 4.