Mit Frühling ist restTemplate mit einem timeout, wie erkenne ich eine Zeitüberschreitung?
Ich habe, initialisiert mein restTemplate wie folgt:
HttpClient httpClient = HttpClientBuilder.create().build();
HttpComponentsClientHttpRequestFactory requestFactory = new HttpComponentsClientHttpRequestFactory(httpClient);
requestFactory.setConnectTimeout(1000);
requestFactory.setReadTimeout(1000);
restTemplate = new RestTemplate(requestFactory);
und ich rufe es so auf:
restTemplate.getForEntity(someString, String.class, SomeHashmapWithURLParameters)
Wie gehe ich mit beiden timeouts? Ich nehme an, dass eine Ausnahme geworfen wird? Wenn ja, welche spezifischen Ausnahme kann ich fangen, um gezielt behandeln nur timeouts. Ich bin handeling andere Ausnahmen in unterschiedlicher Weise.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Im Falle von
RestTemplate
, wenn die Anforderung wird das Zeitlimit überschritten, wird der Frühling werfen ResourceAccessException. Zugrunde liegende Ausnahme unter dieser Instanzjava.net.SocketTimeoutException
mit der Meldung "Read timed out".