កំហុស proxy ក្នុង Spring WebClient៖ ការដោះស្រាយបែប reactive ទល់នឹងការកត់ត្រា log
បែងចែកសញ្ញាកំហុស reactive របស់ WebClient ការកត់ត្រា log នៃ transport និងការដោះស្រាយស្ថានភាព HTTP នៅពេល proxy បរាជ័យ។
Transport អាចកត់ត្រាការតភ្ជាប់ proxy ដែលបរាជ័យ ខណៈដែលកម្មវិធីក៏ទទួល និងដោះស្រាយកំហុស reactive នោះដែរ។ ធាតុ log តែម្នាក់ឯងមិនបញ្ជាក់ថា handler របស់កម្មវិធីត្រូវបានរំលងនោះទេ។
តាមដានសញ្ញាកំហុសនៅក្នុងខ្សែសង្វាក់ដែលពិតជាត្រូវបានជាវ។ try/catch ជុំវិញកូដដែលគ្រាន់តែបង្កើត Mono គឺជាវិសាលភាពផ្សេងពីការដោះស្រាយការបរាជ័យបណ្តាញនៅពេលក្រោយ។
| ប្រតិបត្តិករ | ឥទ្ធិពល |
|---|---|
| doOnError | អនុវត្តផលប៉ះពាល់ចំហៀងខណៈកំហុសបន្ត |
| onErrorMap | បំប្លែងកំហុសមួយទៅកំហុសមួយទៀត |
| onErrorResume | ប្តូរទៅអ្នកបោះពុម្ពផ្សាយជំនួស |
ជ្រើសរើសឥរិយាបថដែលកម្មវិធីត្រូវការ។ ការកត់ត្រារង្វាស់មិនតម្រូវឱ្យត្រឡប់មាតិកាជោគជ័យក្លែងក្លាយទេ។ ការឆ្លើយតបជំនួសគួរជាលទ្ធផលដែលកម្មវិធីចង់បាន មិនមែនជាវិធីលាក់ផ្លូវដែលបរាជ័យនោះទេ។
ក៏បែងចែកភាពលើកលែង transport ពីស្ថានភាពកំហុស HTTP ដែលទទួលបានផងដែរ។ ការតភ្ជាប់ proxy អាចបរាជ័យមុនពេលមានការឆ្លើយតបធម្មតាពីគោលដៅ ដូច្នេះ handler ស្ថានភាព HTTP ប្រហែលជាគ្មានអ្វីត្រូវពិនិត្យទេ។ រក្សាមូលហេតុនៃ WebClientRequestException នៅពេលធ្វើរោគវិនិច្ឆ័យការបរាជ័យកម្រិតទាប។
កែតម្រូវការកត់ត្រា log បន្ទាប់ពីយល់លទ្ធផលហើយប៉ុណ្ណោះ។ ការបិទ logger transport ទាំងមូលអាចដកភស្តុតាងដែលត្រូវការសម្រាប់ការផុតកំណត់ពេល TLS បញ្ហា ឬការបរាជ័យផ្ទៀងផ្ទាត់នៅពេលក្រោយ ដោយមិនផ្លាស់ប្តូរឥរិយាបថរបស់ pipeline reactive។