Транспорт может записать в журнал неудачное прокси-соединение, пока приложение также получает и обрабатывает реактивную ошибку. Одна запись в журнале не доказывает, что обработчик приложения был пропущен.

Отслеживайте сигнал ошибки в цепочке, на которую действительно подписываются. try/catch вокруг кода, который лишь создаёт Mono, — это другая область, чем обработка более позднего сетевого сбоя.

ОператорЭффект
doOnErrorВыполняет побочный эффект, пока ошибка продолжается
onErrorMapПреобразует одну ошибку в другую
onErrorResumeПереключается на альтернативный издатель

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

Также различайте исключения транспорта и полученные статусы ошибок HTTP. Прокси-соединение может отказать ещё до появления обычного ответа пункта назначения, поэтому обработчику статуса HTTP может быть нечего проверять. Сохраняйте причину WebClientRequestException при диагностике сбоя нижнего уровня.

Настраивайте журналирование только после понимания результата. Полное отключение журнала транспорта может удалить доказательства, нужные для последующего тайм-аута, проблемы TLS или сбоя аутентификации, не меняя поведения реактивного конвейера.

Похожие статьи