자율 학습/학습

CloseableHttpClient vs HttpClient

60cod 2022. 12. 30. 11:27

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/