પ્રોક્સી પ્રમાણીકરણ પુનઃપ્રયાસો માટે Jersey 2 અપલોડ બફર કરવું
જ્યારે પ્રમાણીકરણ વાટાઘાટને અપલોડ ફરી મોકલવાની જરૂર પડે ત્યારે Jersey 2 Apache-connector વિનંતી એન્ટિટીને પુનરાવર્તનીય બનાવો.
પ્રોક્સી પડકાર પછી ફરી પ્રયાસ કરેલા અપલોડને તેનું બોડી ફરી જોઈએ. Jersey 2 ના Apache connector માટે, જે રૂપરેખાંકનથી એ ક્લાયન્ટ બને છે તેમાં બફર્ડ એન્ટિટી પ્રોસેસિંગ પસંદ કરો:
ClientConfig config = new ClientConfig();
config.connectorProvider(new ApacheConnectorProvider());
config.property(ClientProperties.PROXY_URI,
"http://proxy.example.net:8080");
config.property(ClientProperties.REQUEST_ENTITY_PROCESSING,
RequestEntityProcessing.BUFFERED);પરિણામી ક્લાયન્ટ દ્વારા અપલોડ કરો. આ પ્રકારો Jersey client અને Apache-connector પેકેજોમાંથી આવે છે; વણવપરાયેલું રૂપરેખાંકન સેટ કરવાથી વિનંતી પર અસર ન થાત.
connector બફર્ડ એન્ટિટીને Apache ના BufferedHttpEntity માં લપેટે છે. તેની બિન-બફર્ડ સ્ટ્રીમિંગ એન્ટિટી પુનરાવર્તનીય નથી. બફરિંગ પ્રમાણીકરણ પ્રવાહને વપરાયેલા ઉત્પાદકને ફરી વાંચવાને બદલે ફરી મોકલી શકાય તેવા બાઇટ આપે છે.
એ બાંયધરી આપતું નથી કે એક 407 પછી પ્રમાણીકરણ પૂરું થાય. કેટલીક યોજનાઓને કાયદેસર રીતે ઘણા વિનિમય જોઈએ, તેથી બીજા પડકારને ખોવાયેલી સ્થિતિ ગણતાં પહેલાં આખી વાટાઘાટ તપાસો.
બોડીનું કદ મેમરી બજેટમાં રાખો. મોટા સ્ટ્રીમિંગ અપલોડને એ કાર્યભારને અનુરૂપ પુનઃપ્રસારણ વ્યૂહરચના જોઈએ; દરેક વિનંતી માટે બફરિંગ સક્ષમ કરવાથી વાટાઘાટની નિષ્ફળતાના બદલે મેમરી ખતમ થઈ શકે છે.