В моем приложении SpringBoot у меня есть клиент, который может отправлять запрос POST. И во время POST может иметь несколько исключений.
Я хочу иметь логику повтора в случае двух разных исключений. Но таким образом, чтобы max-retry-attempts срабатывали для каждого исключения, а не вместе. Трудно объяснить, но пример:
Максимальное количество повторных попыток настроено на 3. Если я получаю тип exception1, чем повторная попытка, у меня остается 2 повторных попытки. Попробуйте еще раз и снова получите exception1, затем повторите попытку, и теперь у меня осталась 1 повторная попытка. Попробуйте еще раз, и теперь я получаю исключение2, затем попробуйте, и теперь у меня снова осталось 2 попытки, потому что предыдущие попытки были для исключения1, а не для исключения2. Таким образом, повторная попытка исключения 2 только что началась.
Является ли это возможным? Я пытался с этим, но это не начинается с повторных попыток для другого исключения, если произошло исключение1, а затем произошло исключение2, то у меня осталась 1 повторная попытка:
@Retryable(maxAttempts = 3, value = {Exception1.class, Exception2.class}, backoff = @Backoff(delay = 3000, multiplier = 2))