Spring の RestTemplate を使用しているときに、HttpClient を使用して特定のパラメーターを設定する必要があります。
私は現在、次の方法でこれを行っています:
HttpClient httpClient = new HttpClient();
httpClient.getParams().setSoTimeout(prefs.getServerTimeout());
httpClient.getParams().setConnectionManagerTimeout(3000);
httpClient.getParams().setContentCharset("UTF-8");
httpClient.getParams().setCredentialCharset("ISO-8859-1", )
...
CommonsClientHttpRequestFactory requestFactory = new CommonsClientHttpRequestFactory(httpClient);
requestFactory.setReadTimeout(prefs.getServerTimeout());
RestTemplate restTemplate = new RestTemplate(requestFactory);
現在どこでも使用されている HttpClient。
HttpComponentsClientHttpRequestFactory.getHttpClient()
Android に同梱されている非推奨のものを指しています。
非推奨であり、6.0 で Android から削除されたため、RestTemplate で HttpClient オブジェクトを引き続き使用するにはどうすればよいですか?
それらは同じパッケージ (org.apache.http.client) を共有しているため、6.0 前後でこれを機能させる方法がわかりません。
(HttpClientを設定せずにhttpclient-androidとHttpComponentsClientHttpRequestFactoryを使用してみましたが、CloseableHttpClientを使用しているようです。ただし、前述のように、メソッドの署名は非推奨のHttpClientです。)
ポインタをいただければ幸いです。