Как я могу проверить состояние, прежде чем разрешить симуляции повторить неудачный HTTP-вызов? - PullRequest
0 голосов
/ 25 октября 2019

В мою систему встроен механизм симуляции повторов при выполнении HTTP-вызова к внешней службе. Повторные попытки происходят, как и ожидалось, но вот пример использования, который борется с

Допустим, у меня есть система, вызывающая Backend. Основываясь на каком-то состоянии в бэкэнде, я делаю почтовый вызов ресурсу A во внешней системе. Этот вызов внешней системы обернут с Feign retry. Повторные попытки происходят, как и ожидалось, но перед повторной попыткой я хотел бы проверить состояние в Backend (это может быть проверка в базе данных) и отменить повторную попытку, если это необходимо, или продолжить.

Мое решение: я должендобавьте некоторую логику в ErrorDecoder, чтобы выяснить текущее состояние Бэкэнд-системы, в зависимости от того, что мне следует разрешить дальнейшие попытки. Это лучшее, что я могу сделать? Моя интуиция подсказывает мне, что это не чистое решение

Есть предложения / комментарии?

Спасибо K

...