Chyby proxy v Spring WebClient: reaktivní zpracování versus logování
Rozlište reaktivní signál chyby WebClientu, logování transportu a zpracování stavu HTTP při selhání proxy.
Transport může zalogovat neúspěšné proxy připojení, zatímco aplikace zároveň přijímá a zpracovává reaktivní chybu. Samotný záznam v logu nedokazuje, že byl obslužný kód aplikace přeskočen.
Sledujte signál chyby v řetězci, který se skutečně odebírá. try/catch kolem kódu, který jen vytváří Mono, je jiný rozsah než zpracování pozdějšího síťového selhání.
| Operátor | Účinek |
|---|---|
| doOnError | Provede vedlejší efekt, zatímco chyba pokračuje |
| onErrorMap | Převede chybu na jinou chybu |
| onErrorResume | Přepne na alternativního vydavatele |
Zvolte chování, které aplikace potřebuje. Zaznamenání metriky nevyžaduje vracet falešný úspěšný obsah. Alternativní odpověď má být záměrným výsledkem aplikace, ne způsobem, jak skrýt neúspěšnou trasu.
Rozlišujte také výjimky transportu od přijatých chybových stavů HTTP. Proxy připojení může selhat dřív, než existuje běžná odpověď cíle, takže obsluha stavu HTTP nemusí mít co zkoumat. Při diagnostice nižšího selhání zachovejte příčinu WebClientRequestException.
Logování upravujte až po pochopení výsledku. Vypnutí celého transportního loggeru může odstranit důkazy potřebné pro pozdější timeout, problém TLS nebo selhání ověření, aniž by změnilo chování reaktivního kanálu.