سؤال

انا تنفيذ وظائف في التطبيق على شبكة الإنترنت بحيث يمكن للعميل إنشاء التقرير من خلال إدخال بعض البيانات و النقر على زر إرسال.

المشكلة هي أن الجيل التقرير يأخذ الكثير من الوقت و التقرير قد لا تولد إذا كان المستخدم إدخال بيانات خاطئة.

التقرير الكامل الجيل المهمة لديه العديد من المهام الفرعية و أريد عند العميل يضغط تقدم ثم أسفل هذه الصفحة أريد أن تظهر حالة/تقدم تقرير الجيل المهام انقسم في مختلف المهام الفرعية مثل

- Validating input data ------ Done
- Fetching the data     ------ In Progress
 and so on,

كيف يمكن تحقيق ذلك باستخدام Struts2, مسج في طبقة الويب?

أي مساعدة سوف يكون موضع تقدير كبير.

شكرا

هل كانت مفيدة؟

المحلول

كان لدينا مشكلة مماثلة.الصفقة عادة ما تستغرق 20 ثانية, في بعض الأحيان أكثر من دقيقة.كنا نظن انه سيكون هناك أسهل الحلول ولكن لقد انتهى الأمر مع نظام مثل هذا ،

  1. عند تشغيل طويلة ورود الطلب ، يتم إنشاء موضوع جديد هو تفرخ للتعامل مع الطلب.
  2. صفحة وعاد على الفور مع النص إلى عرض "جمع البيانات".الصفحة تحتوي على مؤقت لتحديث نفسها في كل ثانية.تحديث يحتوي عنوان URL على معرف جلسة العمل (نحن لا نستخدم HttpSession) في الاستعلام المعلمة.
  3. عندما عمل معالج يرى الطلب مع معرف الجلسة يعرف الدورة بدأت تحقق الدولة متغير يتم تحديثها من قبل مؤشر ترابط العامل.إذا لم يتم ذلك ، فإنه يقوم بتحديث الصفحة مع الوضع الجديد "استرداد البيانات من DB1 ...".هناك الخفقان عندما يتم تحميل.إذا كنت الرعاية ، يمكنك استخدام اياكس تحديث حالة.
  4. عندما يكون موضوع العمل هو القيام به الصفحة على استعداد لتقديم الدعوة ببساطة إرجاع النتيجة.

لقد واجهت بعض المشاكل مع الحمل-موازن.على مخطط العمل ، كل تحميل يجب أن أعود إلى نفس الخادم.لحسن الحظ, الحمل-موازن يدعم لزجة التوجيه على معرف جلسة العمل.

نصائح أخرى

ونلقي نظرة على اعتراضية Struts2 ExecuteAndWait. http://struts.apache.org/2. س / مستندات / تنفيذ، والانتظار interceptor.html

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top