노하우 정리

httpclient hard timeout 설정 본문

JAVA/Tip

httpclient hard timeout 설정

쵸코블루 2019. 10. 4. 17:40
int timeout = clientApiVO.getTimeout();
RequestConfig requestConfig = HttpClient.getDefaultRequestConfig(timeout);


HttpClientBuilder httpClientBuilder = HttpClient.getDefaultHttpClientBuilder(requestConfig);
httpClient = httpClientBuilder.build();

/*************************************************************
 * 연동 타임아웃 설정 구현 시작 (TEST CODE)
 ************************************************************/
final HttpUriRequest httpRequest = clientApiVO.getHttpRequest();
TimerTask timeoutTask = new TimerTask() {

    @Override
    public void run() {
        if(httpRequest != null) {
            LOG.debug("TimerTask : httpRequest.abort() called.");
            httpRequest.abort();
        }
    }
};
new Timer(true).schedule(timeoutTask, 3000);
ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
executor.execute(timeoutTask, 3000);
/*************************************************************
 * 연동 타임아웃 설정 구현 끝
 ************************************************************/

response = httpClient.execute(clientApiVO.getHttpRequest());
HttpClient.sendAfter(clientApiVO, response);

'JAVA > Tip' 카테고리의 다른 글

Java socket 오류  (0) 2021.03.12
Comments