Согласно документации, я могу использовать что-то подобное в exceptionExpression
: @Retryable(exceptionExpression="message.contains('this can be retried')")
Но я хочу получить тело ответа и проверить в нем сообщение (от RestClientResponseException
), что-то похожее на это : exceptionExpression = "getResponseBodyAsString().contains('important message')"
Я пытался так, но это не работает. Итак, возможно ли сделать нечто подобное и проверить информацию из responseBody?
Редактировать: Добавление целых @Retryable
параметров аннотации с предложением Гари Рассела:
@Retryable(value = HttpClientErrorException.class, exceptionExpression = "#{#root instanceof T(org.springframework.web.client.HttpClientErrorException) AND responseBodyAsString.contains('important message')}")
Я использую фактический подкласс RestClientResponseException
, который я ловлю, но все еще не запускаю повторную попытку.