HttpAsyncClient에 대한 몇 가지 기본 개념을 이해하고 싶습니다.HttpAsyncClient 예외를 처리하는 방법
여기서 연결 풀을 사용하고 있지 않습니다. 여기 (1) 또는 (2)의 실패한 http 요청을 닫는 올바른 방법은 무엇입니까?
새로운 요청마다 httpclient를 초기화하면 성능에 미치는 영향은 무엇입니까?
모든 실패한 요청에 대해 finally 블록에서 연결을 닫아야합니까, 그렇게하지 않는 것이 단점입니까?
RequestConfig 구성 RequestConfig.custom =() setConnectTimeout (3 * 1000) .setConnectionRequestTimeout (3 * 1000) .setSocketTimeout (30 * 1000) .build().; CloseableHttpAsyncClient httpclient = HttpAsyncClients.custom(). setDefaultRequestConfig (config) .build();
httpclient.start();
시도는 {
if (targetHost != null && httpget != null)
response = httpclient.execute(HttpHost, HttpGet);
catch (Exception e) {
throw new CustomException("service.unavailable");
} finally {
if (httpget != null){
httpget.releaseConnection(); (1)
httpclient.close();(2)
}
}
감사합니다. 에드워드, 마지막으로 차단 된 상태에서 httpclient 연결을 닫지 않으면 실패한 연결을 닫지 않고 새 요청으로 새 스레드가 생성됩니다. 마침내 블록이 없으면 내 코드가 제대로 작동합니다. – Sindhu