HttpClient
- 인터페이스
- CloseableHttpClient, DefaultHttpClient가 implements한다.
CloseableHttpClient
- 추상 클래스
- ThreadSafe(O)
- implements AutoCloseable → CloseableHttpClient를 Try-with-resources 상태에서 사용 가능
DefaultHttpClient :
- ThreadSafe(O)
- 하지만 권장되지 않아 대신 HttpClientBuilder를 사용한다.
HttpClientBuilder
- ThreadSafe(X)
- 하지만 ThreadSafe한 CloseableHttpClient를 만든다.
Try-with-resources
- try에 자원 객체를 전달했을 때, try 코드 블록이 끝나면 자동으로 자원을 종료해주는 기능
- 즉, 따로 finally 블록이나 모든 catch 블록에 종료 처리를 하지 않아도 된다.
https://stackoverflow.com/questions/21574478/what-is-the-difference-between-closeablehttpclient-and-httpclient-in-apache-http
https://ryan-han.com/post/java/try_with_resources/