Greške proxyja u Spring WebClientu: reaktivna obrada nasuprot logiranju
Razlikujte reaktivni signal greške WebClienta, logiranje 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 nuspojavu 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 postoji običan odgovor odredišta, pa rukovalac HTTP statusa možda nema šta pregledati. Sačuvajte uzrok WebClientRequestException pri dijagnostici nižeg kvara.
Prilagodite logiranje 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.