์คํ๋ง RestTemplate ํ์์์ ์ค์ ์ ํ๋๋ฐ ํ์์์ ์๊ฐ์ด ์ค์ ํ๋๋ก ์ ์ฉ๋์ง ์๋ ๋ฏ ํ์ฌ ํ ์คํธ ํด๋ด..
๋ณดํต HttpComponentsClientHttpRequestFactory ์ SimpleClientHttpRequestFactory ๋ฅผ ์ฌ์ฉํ์ฌ ์ค์ ์ ํจ
์คํ๋ง์ RestTemplate ๊ธฐ๋ณธ์ ์ผ๋ก SimpleClientHttpRequestFactory๋ฅผ ์ฌ์ฉํจ
SimpleClientHttpRequestFactory๋ฅผ ์ด์ฉํด์ ์ค์ ์ ํ๋ฉด ์ ์์ ์ผ๋ก ์ธํ ํ ๊ฐ์ ํ์์์์ด ๋ฐ์ํจ.
ํ์ง๋ง HttpComponentsClientHttpRequestFactory ๋ฅผ ์ด์ฉํ๋ฉด ์ค์ ํ ์๊ฐ๋ณด๋ค 4๋ฐฐ ๊ธด ์๊ฐ์ด ํ๋ฅธ ๋ค์์ผ ํ์์์์ด ๋ฐ์ํ์์
@Test
public void ํ์์์_ํ ์คํธ() {
HttpComponentsClientHttpRequestFactory factory = new HttpComponentsClientHttpRequestFactory();
factory.setReadTimeout((int) TimeUnit.SECONDS.toMillis(10));
factory.setConnectTimeout((int) TimeUnit.SECONDS.toMillis(5)); // 4๋ฐฐ์ ์๊ฐ์ด ๊ฑธ๋ฆฐ ๋ค์์ผ ํ์์์ ๋ฐ์
factory.setConnectionRequestTimeout(5 * 1000);
// SimpleClientHttpRequestFactory factory = new SimpleClientHttpRequestFactory();
// factory.setReadTimeout((int) TimeUnit.SECONDS.toMillis(10));
// factory.setConnectTimeout((int) TimeUnit.SECONDS.toMillis(5)); // ์ธํ ํ ์๊ฐ๋๋ก ํ์์์ ๋ฐ์
// RequestConfig config = RequestConfig.custom()
// .setSocketTimeout((int) TimeUnit.SECONDS.toMillis(1))
// .setConnectTimeout((int) TimeUnit.SECONDS.toMillis(5))
// .setConnectionRequestTimeout((int) TimeUnit.SECONDS.toMillis(10))
// .build();
// CloseableHttpClient client = HttpClientBuilder
// .create()
// .setDefaultRequestConfig(config)
// .build();
// HttpComponentsClientHttpRequestFactory factory = new HttpComponentsClientHttpRequestFactory(client);
RestTemplate restTemplate = new RestTemplate(factory);
// 1. connect timeout ํ ์คํธ
long start = System.currentTimeMillis();
try {
ResponseEntity<String> result = restTemplate.getForEntity("https://abc.com:81/test", String.class);
} catch (ResourceAccessException e) {
log.error("ํ์์์!! {}", TimeUtils.printDuration(System.currentTimeMillis() - start), e);
}
}
์์ง ์์ธ์ ํ์ธํ์ง ๋ชปํจ.