Spring WebClient හි ප්රොක්සි දෝෂ: ප්රතික්රියාශීලී හැසිරවීම සහ ලොග් කිරීම
ප්රොක්සි අසාර්ථක වන විට WebClient හි ප්රතික්රියාශීලී දෝෂ සංඥාව, ප්රවාහන ලොග් කිරීම සහ HTTP තත්ත්ව හැසිරවීම වෙන් කරන්න.
ප්රවාහනය අසාර්ථක ප්රොක්සි සම්බන්ධතාවක් ලොග් කළ හැකි අතර, යෙදුම ද ප්රතික්රියාශීලී දෝෂය ලබාගෙන හසුරුවයි. ලොග් සටහන පමණක් යෙදුමේ හසුරුවනය මග හැරුණු බව ඔප්පු නොකරයි.
සැබවින්ම දායක වන දාමය තුළ දෝෂ සංඥාව අනුගමනය කරන්න. Mono පමණක් ගොඩනඟන කේතය වටා ඇති try/catch, පසුව ඇති ජාල අසාර්ථකත්වය හැසිරවීමට වඩා වෙනස් විෂය පථයකි.
| ක්රියාකරු | බලපෑම |
|---|---|
| doOnError | දෝෂය පවතින අතරතුර අතුරු බලපෑමක් සිදු කරයි |
| onErrorMap | එක් දෝෂයක් තවත් දෝෂයක් බවට පරිවර්තනය කරයි |
| onErrorResume | විකල්ප ප්රකාශකයෙකුට මාරු වේ |
යෙදුමට අවශ්ය හැසිරීම තෝරන්න. මිනුමක් වාර්තා කිරීමට අසත්ය සාර්ථක අන්තර්ගතයක් ආපසු දීම අවශ්ය නොවේ. විකල්ප ප්රතිචාරය යෙදුමේ හිතාමතා කළ ප්රතිඵලයක් විය යුතුය, අසාර්ථක මාර්ගයක් සැඟවීමේ ක්රමයක් නොවේ.
ප්රවාහන ව්යතිරේක සහ ලැබෙන HTTP දෝෂ තත්ත්ව ද වෙන් කරන්න. සාමාන්ය ගමනාන්ත ප්රතිචාරයක් පවතින පෙරම ප්රොක්සි සම්බන්ධතාව අසාර්ථක විය හැකි බැවින් HTTP තත්ත්ව හසුරුවනයට පරීක්ෂා කිරීමට කිසිවක් නොතිබිය හැක. පහළ මට්ටමේ අසාර්ථකත්වය විනිශ්චය කරන විට WebClientRequestException හි හේතුව රැක ගන්න.
ප්රතිඵලය තේරුම් ගත් පසුව පමණක් ලොග් කිරීම සකසන්න. සම්පූර්ණ ප්රවාහන ලොගරය ක්රියා විරහිත කිරීමෙන් පසුව ඇති කාල ඉකුත්වීමක්, TLS ගැටලුවක් හෝ සත්යාපන අසාර්ථකත්වයක් සඳහා අවශ්ය සාක්ෂි ඉවත් විය හැක, ප්රතික්රියාශීලී නළ මාර්ගයේ හැසිරීම වෙනස් නොකර.