Как получить доступ к текущей попытке повторной попытки при использовании подхода @Retryable - PullRequest
0 голосов
/ 31 октября 2018

Я использую подход, основанный на аннотациях - @Retryable, чтобы повторить попытку в приложении весенней загрузки.

@Retryable(value = {DataAccessException.class, JpaSystemException.class}, maxAttempts = Integer.MAX_VALUE, backoff = @Backoff(delay = 30000))

Что я хочу сделать, так это то, что каждый раз, когда он повторяет попытку, я хочу получить доступ к его текущей попытке повторения.

Я пытался сделать это с помощью Java Reflection -

Retryable retryable = mth.getAnnotation(Retryable.class);

Но, используя это, я не получаю текущую попытку повторной попытки. Он просто дает детали, которые были добавлены к атрибуту @Retryable, например value, maxAttempts, Backoff details

Есть идеи по этому поводу? Помощь высоко ценится.

1 Ответ

0 голосов
/ 31 октября 2018

Вы не сможете получить доступ к шаблону, если не подключите свой собственный перехватчик и не предоставите его для @Retryable в свойстве interceptor.

Однако вы можете получить доступ к счетчику в методе @Retryable, используя

int retry = RetrySynchronizationManager.getContext().getRetryCount();
...