Gabime proxy në Spring WebClient: trajtim reaktiv kundrejt regjistrimit
Dalloni sinjalin reaktiv të gabimit të WebClient, regjistrimin e transportit dhe trajtimin e statusit HTTP gjatë dështimit të proxy-t.
Transporti mund të regjistrojë një lidhje proxy të dështuar, ndërsa aplikacioni gjithashtu pranon dhe trajton gabimin reaktiv. Vetëm hyrja e regjistrit nuk vërteton se trajtuesi i aplikacionit u anashkalua.
Ndiqni sinjalin e gabimit në zinxhirin që abonohet vërtet. Një try/catch rreth kodit që thjesht ndërton një Mono është një sferë tjetër nga trajtimi i një dështimi rrjeti më vonë.
| Operator | Efekt |
|---|---|
| doOnError | Kryen një efekt anësor ndërsa gabimi vazhdon |
| onErrorMap | Shndërron një gabim në një gabim tjetër |
| onErrorResume | Kalon në një botues alternativ |
Zgjidhni sjelljen që i nevojitet aplikacionit. Regjistrimi i një metrike nuk kërkon kthimin e përmbajtjes së rreme të suksesshme. Përgjigja alternative duhet të jetë një rezultat i qëllimshëm i aplikacionit, jo një mënyrë për të fshehur një rrugë të dështuar.
Dalloni gjithashtu përjashtimet e transportit nga statuset e gabimit HTTP të marra. Një lidhje proxy mund të dështojë përpara se të ekzistojë një përgjigje e zakonshme e destinacionit, kështu që një trajtues i statusit HTTP mund të mos ketë çfarë të shqyrtojë. Ruani shkakun e WebClientRequestException kur diagnostikoni dështimin e nivelit më të ulët.
Rregulloni regjistrimin vetëm pasi të kuptoni rezultatin. Fikja e të gjithë regjistruesit të transportit mund të heqë provat e nevojshme për një timeout, problem TLS ose dështim vërtetimi të mëvonshëm, pa ndryshuar sjelljen e tubacionit reaktiv.