CloseableHttpClient Установить время ожидания подключения после создания клиента - PullRequest
0 голосов
/ 06 декабря 2018

Я использовал 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?

...