Proxyfeil i Spring WebClient: reaktiv handtering kontra logging
Skil mellom det reaktive feilsignalet til WebClient, transportlogging og HTTP-statushandtering under ein proxyfeil.
Transporten kan logge ei mislukka proxyforbinding medan applikasjonen òg tek imot og handterer den reaktive feilen. Sjølve loggoppføringa provar ikkje at handteraren til applikasjonen vart hoppa over.
Følg feilsignalet i kjeda som faktisk vert abonnert på. Ein try/catch rundt kode som berre byggjer ein Mono, er eit anna omfang enn handtering av ein seinare nettverksfeil.
| Operator | Effekt |
|---|---|
| doOnError | Utfører ein biverknad medan feilen held fram |
| onErrorMap | Gjer om ein feil til ein annan feil |
| onErrorResume | Byter til ein alternativ utgjevar |
Vel åtferda applikasjonen treng. Å registrere ein metrikk krev ikkje at falskt vellukka innhald vert returnert. Eit alternativt svar bør vere eit medvite applikasjonsresultat, ikkje ein måte å skjule ei mislukka rute.
Skil òg mellom transportunntak og mottekne HTTP-feilstatusar. Ei proxyforbinding kan feile før det finst eit vanleg svar frå målet, så ein HTTP-statushandterar har kanskje ingenting å undersøkje. Ta vare på årsaka til ein WebClientRequestException når den underliggjande feilen vert diagnostisert.
Juster logginga først etter at resultatet er forstått. Å slå av heile transportloggaren kan fjerne prov som trengst for ein seinare tidsavbrot, eit TLS-problem eller ein autentiseringsfeil, utan å endre åtferda til den reaktive pipelinen.