Pogreške proxyja u Spring WebClientu: reaktivna obrada nasuprot logiranju
Razlikujte reaktivni signal pogreške WebClienta, logiranje transporta i rukovanje HTTP statusom tijekom kvara proxyja.
Transport može zabilježiti neuspjelu proxy vezu dok aplikacija također prima i obrađuje reaktivnu pogrešku. Sam zapis u logu ne dokazuje da je rukovatelj aplikacije preskočen.
Pratite signal pogreške u lancu koji se stvarno pretplaćuje. try/catch oko koda koji samo gradi Mono drugi je opseg od obrade kasnijeg mrežnog kvara.
| Operator | Učinak |
|---|---|
| doOnError | Izvršava nuspojavu dok pogreška traje |
| onErrorMap | Pretvara pogrešku u drugu pogrešku |
| onErrorResume | Prebacuje na alternativnog izdavača |
Odaberite ponašanje koje aplikacija treba. 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 neuspjela ruta.
Također razlikujte transportne iznimke od primljenih HTTP statusa pogreške. Proxy veza može pasti prije nego postoji uobičajen odgovor odredišta, pa rukovatelj HTTP statusa možda nema što 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.