@Retryable для обработки нестабильных внешних сервисов.Если API отвечает с ошибками или падает, вам не нужно вручную писать циклы с повторными попытками.
Аннотация
@Retryable позволяет:- автоматически повторять вызовы при возникновении определённых исключений
- управлять количеством попыток
- настраивать задержку и экспоненциальный backoff
- выполнять fallback через
@Recover, если всё равно не удалосьНапример, на картинке:
- выполняется 3 попытки при указанных исключениях
- стартовая задержка — 2 секунды, далее она удваивается при каждой попытке
- вызывается
recover(), если все попытки исчерпаныЭто удобно, читаемо и избавляет от boilerplate-кода при интеграции с внешними API.
👉 Java Portal
