1
Jaxrs (예 : WebClient)에서 우리는 연결 제한 시간과 읽기 제한 시간을 설정할 수 있습니다.글로벌 타임 아웃을 설정하는 Jaxrs 기능 (연결 + 읽기)
ClientConfiguration c = WebClient.getConfig(client);
HTTPConduit http = c.getHttpConduit();
HTTPClientPolicy httpClientPolicy = new HTTPClientPolicy();
httpClientPolicy.setConnectionTimeout(timeout);
httpClientPolicy.setReceiveTimeout(timeout);
httpClientPolicy.setAllowChunking(false);
http.setClient(httpClientPolicy);
내가 정말 연결 또는 수신에 소요되는 시간이 얼마나 걱정하지 않는다 모두를 포함하는 제한 시간을 설정하려는, 내 요구 사항은 X 초에 응답을하거나 검색을 폐기하는 것입니다 .
아마도 인터셉터를 통해 가능합니까? 그렇지만 수행 가능한지 모르겠습니다. – cocorossello
'WebClient' javadoc을 검토 한 결과 현재 요청을 중단 할 수 없으므로 인터셉터를 사용할 수 없습니다. 인터셉터는 기본 요청과 동일한 스레드에서 실행될 것이므로 인터셉터를 사용할 수 없기 때문입니다 (또한 응답/시간 초과까지 차단되는 기본 스레드). 시간 초과가있는 추가 모니터링 스레드를 생성하고 비동기 적으로 작업해야합니다 (시간 초과 또는 올바른 응답). 그것은 가치 있는지 여부를 고려 ... – pedrofb