Я использовал DefaultHttpClient , и теперь он устарел.Поэтому я пытаюсь приспособиться к предложенному CloseableHttpClient .
В DefaultHttpClient , кажется, что мы можем сначала создать клиента, а затем установить параметры:
this.client = new DefaultHttpClient();
// Do some work, then change connection timeout
HttpConnectionParams.setConnectionTimeout(this.client.getParams(), milliseconds);
Но с CloseableHttpClient мне придется установить тайм-аут соединения до того, как клиент будет построен:
// Create request config builder
RequestConfig.Builder requestBuilder = RequestConfig.custom();
requestBuilder = requestBuilder.setConnectTimeout(timeout);
// Create client builder
HttpClientBuilder clientBuilder = HttpClientBuilder.create();
// Set request configuration
clientBuilder.setDefaultRequestConfig(requestBuilder.build());
// Build client with configuration set in clientBuilder
this.client = clientBuilder.build();
Это явно не удобно, так как я хочу установить тайм-аут соединениякогда мне нужно.
Я пытался найти решение, но безуспешно.
Подобные атрибуты с этой проблемой, такие как:
Предыдущий Задать время ожидания гнезда
HttpConnectionParams.setSoTimeout(this.client.getParams(), milliseconds);
Предыдущий Установить прокси
HttpHost proxy = new HttpHost(proxyHost, port, scheme);
this.client.getParams().setParameter(ConnRouteParams.DEFAULT_PROXY, proxy);
Предыдущий Установить Максимальное количество соединений Http
((ThreadSafeClientConnManager) this.client.getConnectionManager()).setMaxTotal(maxConnections);
Можно ли добиться того жеэффект с CloseableHttpClient?