Gwallau dirprwy Spring WebClient: trin adweithiol yn erbyn cofnodi
Gwahaniaethwch rhwng signal gwall adweithiol WebClient, cofnodi'r cludiant, a thrin statws HTTP pan fydd dirprwy yn methu.
Gall y cludiant gofnodi cysylltiad dirprwy wedi methu tra bod y rhaglen hefyd yn derbyn ac yn trin y gwall adweithiol. Nid yw'r cofnod log ar ei ben ei hun yn profi bod triniwr y rhaglen wedi'i hepgor.
Dilynwch y signal gwall yn y gadwyn sy'n cael ei thanysgrifio mewn gwirionedd. Mae try/catch o amgylch cod sy'n adeiladu Mono yn unig yn gwmpas gwahanol i drin methiant rhwydwaith diweddarach.
| Gweithredydd | Effaith |
|---|---|
| doOnError | Perfformia sgil-effaith tra bod y gwall yn parhau |
| onErrorMap | Trawsnewidia wall yn wall arall |
| onErrorResume | Newidia i gyhoeddwr amgen |
Dewiswch yr ymddygiad y mae ei angen ar y rhaglen. Nid yw cofnodi metrig yn gofyn am ddychwelyd cynnwys llwyddiannus ffug. Dylai ymateb amgen fod yn ganlyniad bwriadol i'r rhaglen, nid yn ffordd o guddio llwybr sydd wedi methu.
Gwahaniaethwch hefyd eithriadau'r cludiant oddi wrth statysau gwall HTTP a dderbynnir. Gall cysylltiad dirprwy fethu cyn bod ymateb arferol o'r gyrchfan, felly gall triniwr statws HTTP fod heb ddim i'w archwilio. Cadwch achos WebClientRequestException wrth ddiagnosio'r methiant lefel isaf.
Addaswch gofnodi dim ond ar ôl deall y canlyniad. Gall diffodd y cofnodydd cludiant cyfan ddileu tystiolaeth sydd ei hangen ar gyfer terfyn amser, problem TLS, neu fethiant dilysu diweddarach, heb newid ymddygiad y bibell adweithiol.