Spring WebClient પ્રોક્સી ભૂલો: પ્રતિક્રિયાશીલ હેન્ડલિંગ વિરુદ્ધ લોગિંગ
પ્રોક્સી નિષ્ફળતા દરમિયાન WebClient નો પ્રતિક્રિયાશીલ ભૂલ સંકેત, ટ્રાન્સપોર્ટ લોગિંગ અને HTTP સ્થિતિ હેન્ડલિંગને અલગ પાડો.
ટ્રાન્સપોર્ટ નિષ્ફળ પ્રોક્સી જોડાણને લોગ કરી શકે છે, જ્યારે એપ્લિકેશન પણ પ્રતિક્રિયાશીલ ભૂલ મેળવે છે અને સંભાળે છે. ફક્ત લોગ એન્ટ્રી સાબિત કરતી નથી કે એપ્લિકેશનનો હેન્ડલર છોડી દેવાયો હતો.
જે ચેઇન ખરેખર સબ્સ્ક્રાઇબ થાય છે તેમાં ભૂલ સંકેતને અનુસરો. ફક્ત Mono બનાવતા કોડની આસપાસનું try/catch પછીની નેટવર્ક નિષ્ફળતા સંભાળવા કરતાં અલગ વ્યાપ છે.
| ઓપરેટર | અસર |
|---|---|
| doOnError | ભૂલ ચાલુ રહેતી વખતે આડઅસર કરે છે |
| onErrorMap | એક ભૂલને બીજી ભૂલમાં રૂપાંતરિત કરે છે |
| onErrorResume | વૈકલ્પિક પ્રકાશક પર સ્વિચ કરે છે |
એપ્લિકેશનને જે વર્તન જોઈએ તે પસંદ કરો. મેટ્રિક રેકોર્ડ કરવા માટે નકલી સફળ સામગ્રી પરત કરવાની જરૂર નથી. વૈકલ્પિક પ્રતિસાદ એ એપ્લિકેશનનું જાણી જોઈને કરેલું પરિણામ હોવું જોઈએ, નિષ્ફળ રૂટ છુપાવવાનો રસ્તો નહીં.
ટ્રાન્સપોર્ટ અપવાદોને પ્રાપ્ત HTTP ભૂલ સ્થિતિઓથી પણ અલગ પાડો. પ્રોક્સી જોડાણ સામાન્ય ગંતવ્ય પ્રતિસાદ અસ્તિત્વમાં આવે તે પહેલાં નિષ્ફળ થઈ શકે છે, તેથી HTTP સ્થિતિ હેન્ડલર પાસે તપાસવા માટે કંઈ ન હોઈ શકે. નીચલા સ્તરની નિષ્ફળતાનું નિદાન કરતી વખતે WebClientRequestException નું કારણ સાચવો.
પરિણામ સમજ્યા પછી જ લોગિંગ સમાયોજિત કરો. આખું ટ્રાન્સપોર્ટ લોગર બંધ કરવાથી પછીના ટાઇમઆઉટ, TLS સમસ્યા અથવા પ્રમાણીકરણ નિષ્ફળતા માટે જરૂરી પુરાવા દૂર થઈ શકે છે, પ્રતિક્રિયાશીલ પાઇપલાઇનનું વર્તન બદલ્યા વિના.