J'ai initialisé mon restTemplate comme suit:
HttpClient httpClient = HttpClientBuilder.create().build();
HttpComponentsClientHttpRequestFactory requestFactory = new HttpComponentsClientHttpRequestFactory(httpClient);
requestFactory.setConnectTimeout(1000);
requestFactory.setReadTimeout(1000);
restTemplate = new RestTemplate(requestFactory);
et je l'appelle comme ça:
restTemplate.getForEntity(someString, String.class, SomeHashmapWithURLParameters)
Comment gérer les deux délais d'attente? Je suppose qu'une exception sera levée? Si oui, quelle exception spécifique puis-je intercepter, afin de gérer spécifiquement les délais d'expiration. Je gère d'autres exceptions de différentes manières.
Dans le cas de RestTemplate
, lorsque la demande arrive à expiration, Spring lance ResourceAccessException . L'exception sous-jacente dans cette instance sera Java.net.SocketTimeoutException
avec le message "Lecture expirée".