아니요. JerseyClient가 예외가있는 경우 client.close()
을 호출하지 않으며 AutoCloseable도 구현하지 않습니다.
쉽게 테스트 할 수 있습니다. 당신은 마감 후 메소드를 호출하면 클라이언트는 IllegalStateException이 예외 :
Client client = ClientBuilder.newClient();
client.close();
client.target("http://stackoverflow.com").request().get(); // IllegalStateException
을하지만 당신은 예외를 잡기 후 메소드를 호출 할 수 있습니다
이
Client client = ClientBuilder.newClient();
try {
client.target("http://foo.bar").request().get(); // java.net.ConnectException: Operation timed out
} catch (Exception ex) {
client.target("http://stackoverflow.com").request().get(); // works
}
그래서 닫는 작업입니다.
업데이트 : JAX-RS 2.1 will use AutoClosables.
감사합니다. lefloh – Jason
저지 1.1x는 어떻습니까? API 문서를 확인했는데 close() 메소드가 없습니다. destroy() 만 사용할 수 있지만 동등하지 않다고 생각하지 마십시오. – DerekY
ApiDoc에서 : "클라이언트를 삭제하십시오. 클라이언트와 관련된 모든 시스템 리소스가 정리됩니다." 따라서 연결을 닫아야합니다. – lefloh