تخزين عملية رفع في Jersey 2 من أجل إعادة محاولات مصادقة الوكيل
اجعل كيان طلب Jersey 2 مع موصل Apache قابلاً للتكرار عندما يحتاج تفاوض المصادقة إلى إعادة إرسال الرفع.
تحتاج عملية الرفع التي يُعاد محاولتها بعد تحدٍّ من الوكيل إلى جسمها مرة أخرى. في موصل Apache الخاص بـ Jersey 2، اختر معالجة الكيان المخزَّن في التهيئة المستخدمة لبناء ذلك العميل:
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 وموصل Apache؛ وضبط تهيئة غير مستخدمة لن يؤثر في الطلب.
يغلّف الموصل كيانًا مخزَّنًا في BufferedHttpEntity الخاص بـ Apache. كيان التدفق غير المخزَّن غير قابل للتكرار. يمنح التخزين تدفق المصادقة بايتات يستطيع إعادة إرسالها بدلًا من إعادة قراءة منتج مستهلَك.
لا يضمن ذلك أن تنتهي المصادقة بعد استجابة 407 واحدة. بعض المخططات تتطلب شرعًا عدة تبادلات، لذا افحص التفاوض كله قبل اعتبار أي تحدٍّ إضافي حالة مفقودة.
أبقِ حجم الجسم ضمن ميزانية الذاكرة. يحتاج الرفع الكبير المتدفق إلى استراتيجية إعادة تشغيل تناسب ذلك الحمل؛ وتفعيل التخزين لكل طلب قد يقايض فشل التفاوض باستنفاد الذاكرة.