پروکسی توثیق کی دوبارہ کوششوں کے لیے 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 کے بعد ختم ہو جائے۔ کچھ اسکیمیں قانونی طور پر کئی تبادلے مانگتی ہیں، اس لیے کسی اور چیلنج کو گمشدہ حالت سمجھنے سے پہلے پوری گفت و شنید کا جائزہ لیں۔
باڈی کا حجم میموری بجٹ میں رکھیں۔ بڑے اسٹریمنگ اپ لوڈ کے لیے اسی بوجھ کے مطابق دوبارہ بھیجنے کی حکمتِ عملی درکار ہے؛ ہر درخواست کے لیے بفرنگ فعال کرنا گفت و شنید کی ناکامی کے بدلے میموری ختم کر سکتا ہے۔