Http Components tutorial에 따르면 자원을 할당 해제하려면 CloseableHttpClient
이 close()
이어야합니다.CloseableHttpClient를 닫음으로써 어떤 자원을 사용할 수 있습니까?
제 경우에는 응용 프로그램이 시작될 때 단순히 클라이언트를 만들고 응용 프로그램이 끝날 때 닫는 것이 좋습니다. 이렇게하면 클라이언트를 사용하는 기존 작업이 완료되고 새 작업이 아직 활성화되지 않았 음을 보장하는 데 필요한 심하게 동기화 된 코드가 단순화됩니다.
내 CloseableHttpClient
개체를 닫지 않고 한 번에 며칠 동안 떠날 경우. 나는 어떤 자원을 먹을 것인가?
그냥 짐작할 만하지만 링크에서 "응답 콘텐츠 캐싱과 같은 기능"및 "연결된 연결 관리자를 종료해야합니다"라고 말하면 두 가지 종류의 리소스가 해제되어야 함을 나타냅니다. 그러나 실제로 HttpClient의 구현에 의해 할당되고 보유되는 리소스는 대부분 구현 자체의 재량에 달려 있습니다. – JimmyB
Linux 시스템에서 실행하면 CLOSE_WAIT 상태와 배기 설명 자 (열려있는 파일이 너무 많음)에서 많은 연결을 남길 수 있습니다. –