Spring WebClient прокси қателері: реактивті өңдеу немесе логтау
Прокси сәтсіздігінде WebClient-тің реактивті қате сигналын, транспорт логтарын және HTTP мәртебесін өңдеуді ажыратыңыз.
Транспорт сәтсіз прокси қосылымын логқа жаза алады, ал қолданба сол уақытта реактивті қатені қабылдап, өңдейді. Тек лог жазбасы қолданба өңдеушісінің өткізіліп кеткенін дәлелдемейді.
Қате сигналын шын мәнінде жазылатын тізбектен қадағалаңыз. Тек Mono құратын кодты қоршаған try/catch кейінгі желілік ақауды өңдеуден басқа ауқым.
| Оператор | Әсер |
|---|---|
| doOnError | Қате жалғасып жатқанда жанама әсер орындайды |
| onErrorMap | Бір қатені екінші қатеге айналдырады |
| onErrorResume | Балама жариялаушыға ауысады |
Қолданбаға қажет мінез-құлықты таңдаңыз. Көрсеткішті жазу жалған сәтті мазмұнды қайтаруды талап етпейді. Балама жауап қолданбаның әдейі нәтижесі болуы керек, сәтсіз маршрутты жасыру тәсілі емес.
Сондай-ақ транспорт ерекшеліктерін алынған HTTP қате мәртебелерінен ажыратыңыз. Прокси қосылымы қарапайым мақсат жауабы пайда болмай тұрып сәтсіз болуы мүмкін, сондықтан HTTP мәртебесін өңдеушінің тексеретін ештеңесі болмауы мүмкін. Төменгі деңгейдегі ақауды диагностикалау кезінде WebClientRequestException себебін сақтаңыз.
Логтауды нәтижені түсінгеннен кейін ғана реттеңіз. Бүкіл транспорт логгерін өшіру кейінгі тайм-аут, TLS мәселесі немесе аутентификация қатесі үшін қажет дәлелдерді жоя алады, реактивті құбырдың мінез-құлқын өзгертпей.