Как Spring Retryable с кодом состояния http - PullRequest
0 голосов
/ 09 ноября 2018

В настоящее время я использую spring 2 с restTemplate, и я хотел бы, чтобы повторная отправка отправляла запрос на публикацию только с определенными кодами состояния или любым кодом 500.

Как мне это сделать?

Вот мой код

@Retryable(value = RestClientException.class, exclude = {UnknownHostException.class},
           backoff=@Backoff(delayExpression = 10000,
                            multiplierExpression = 2,
                            maxDelayExpression = 50000))
    public HttpStatus postRequest(final File file) throws RestClientException {
        MultiValueMap<String, Object> body = new LinkedMultiValueMap<>();
        body.add("file", new FileSystemResource(file));

        HttpHeaders headers = new HttpHeaders();
        headers.setContentType(MediaType.MULTIPART_FORM_DATA);
        headers.set("Token", mytoken);

        HttpEntity<MultiValueMap<String, Object>> requestEntity = new HttpEntity<>(body, headers);
        ResponseEntity<String> response = restTemplate.exchange(URI, HttpMethod.POST,requestEntity, String.class);

        return response.getStatusCode();
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...