Napake proxyja v Spring WebClient: reaktivno obravnavanje proti beleženju
Razlikujte reaktivni signal napake WebClienta, beleženje transporta in obravnavo statusa HTTP med napako proxyja.
Transport lahko zabeleži neuspešno proxy povezavo, medtem ko aplikacija tudi prejme in obdela reaktivno napako. Sam zapis v dnevniku ne dokazuje, da je bil obdelovalec aplikacije preskočen.
Sledite signalu napake v verigi, ki je dejansko naročena. try/catch okoli kode, ki samo zgradi Mono, je drugo področje kot obravnava poznejše omrežne napake.
| Operator | Učinek |
|---|---|
| doOnError | Izvede stranski učinek, medtem ko se napaka nadaljuje |
| onErrorMap | Pretvori napako v drugo napako |
| onErrorResume | Preklopi na nadomestnega izdajatelja |
Izberite vedenje, ki ga aplikacija potrebuje. Beleženje meritve ne zahteva vračanja lažne uspešne vsebine. Nadomestni odgovor mora biti nameren rezultat aplikacije, ne način za skrivanje neuspešne poti.
Razlikujte tudi izjeme transporta od prejetih statusov napake HTTP. Proxy povezava lahko odpove, preden obstaja običajen odgovor cilja, zato obdelovalec statusa HTTP morda nima česa pregledati. Pri diagnosticiranju nižje napake ohranite vzrok WebClientRequestException.
Beleženje prilagodite šele po razumevanju izida. Izklop celotnega beležnika transporta lahko odstrani dokaze, potrebne za poznejšo časovno omejitev, težavo TLS ali napako preverjanja pristnosti, ne da bi spremenil vedenje reaktivnega voda.