Greške proxyja u Spring WebClientu: reaktivno rukovanje nasuprot logovanja
Razlikujte reaktivni signal greške WebClienta, logovanje transporta i rukovanje HTTP statusom tokom kvara proxyja.
Transport može zabilježiti neuspješnu proxy vezu dok aplikacija također prima i obrađuje reaktivnu grešku. Sam zapis u logu ne dokazuje da je rukovalac aplikacije preskočen.
Pratite signal greške u lancu koji se zaista pretplaćuje. try/catch oko koda koji samo gradi Mono drugi je obim od obrade kasnijeg mrežnog kvara.
| Operator | Učinak |
|---|---|
| doOnError | Izvršava sporedni efekat dok greška traje |
| onErrorMap | Pretvara grešku u drugu grešku |
| onErrorResume | Prebacuje na alternativnog izdavača |
Odaberite ponašanje koje aplikacija traži. Bilježenje metrike ne zahtijeva vraćanje lažnog uspješnog sadržaja. Alternativni odgovor treba biti namjeran rezultat aplikacije, a ne način da se sakrije neuspješna ruta.
Također razlikujte transportne izuzetke od primljenih HTTP statusa greške. Proxy veza može pasti prije nego što postoji običan odgovor odredišta, pa rukovalac HTTP statusa možda nema šta pregledati. Sačuvajte uzrok WebClientRequestExceptiona pri dijagnostici nižeg kvara.
Prilagodite logovanje tek nakon što razumijete ishod. Isključivanje cijelog transportnog loggera može ukloniti dokaze potrebne za kasniji tajmaut, TLS problem ili neuspjeh autentifikacije, a da pritom ne promijeni ponašanje reaktivnog cjevovoda.