Sping retry вызывает исключение RetryExhaustedException, если исключение не включено в @Retryable - PullRequest
0 голосов
/ 29 мая 2020

Я использую spring-retry 1.2.5. В своем коде я использую аннотации @Retryable и @CircuitBreaker, но всякий раз, когда возникает исключение, не упомянутое в атрибуте include, я получаю RetryExhaustedException вместо выброшенного проверенного исключения.

Я обнаружил, что нам нужно установить throwLastExceptionOnExhausted равным true в RetryTemplate.

Я добавил bean-компонент RetryTemplate в класс конфигурации и установил для свойства значение true, но во время выполнения
созданный bean-компонент не используется. В основном аннотация @Retryable не использует bean-компонент, который я создал в конфигурации.

Как я могу установить свойство throwLastExceptionOnExhausted при использовании аннотации @Retryable?

1 Ответ

0 голосов
/ 29 мая 2020

Есть несколько вариантов.

  1. Подключите собственный bean-перехватчик и используйте его в свойстве @Retryable interceptor.

  2. Добавьте метод @Recover и перебросьте перехватчик оттуда.

2, вероятно, самый простой.

...