تُستخدم واجهة المكون الإضافي الخاصة بـ IBulkRequestDataHandler بواسطة BulkManager لدعم إنشاء طلب requestBulkDataExchange.
تنفيذ الواجهة هو D2L.IM.IPSIS.Bulk.Handlers.IBulkRequestDataHandler.
توفر قائمة التكوين الآتية نقطة بداية لأي تنفيذ لـ LIS:
القالب - الطلب المجمع (LIS)
- D2L.IM.IPSIS.LIS.BDEMS.Default.RequestBulkDataDefaultJobIdHandler (ترتيب الفرز = 10)
- D2L.IM.IPSIS.LIS.BDEMS.Default.RequestBulkDataExchangeHandler (ترتيب الفرز = 20)
RequestBulkDataExchangeHandler
التنفيذ
D2L.IM.IPSIS.LIS.BDEMS.Default.RequestBulkDataExchangeHandler
السلوك المتوقع
يؤدي المعالج المهام الآتية:
- التحقق من صحة نقطة النهاية وإعداد العميل.
- التحقق من BulkEntityTypeFilters على الطلب الوارد، وإضافة FilterRuleType لكل منها إلى الطلب الصادر. إذا لم يتطابق أي من أنواع EntityTypes مع مفردات FilterType التي تعني مجمع (انظر مواصفات BDEMS لتعريف المفردات)، عندها يقوم المعالج بطرح KeyNotFoundException.
- التحقق من أن نقطة الحفظ ذات تنسيق صحيح على النحو الذي تحدده المواصفات. يجب أن تكون كل نقاط النهاية التي تم تمريرها متطابقة، وبالتنسيق "YYYY-MM-DDTHH:MM:SS.NNN". يشير T إلى الحرف T ويشير NNN إلى الملي ثانية. في حالة فشل أي من هذه الشروط، يقوم المعالج بطرح InvalidRequestDataException.
- إضافة FilterRuleType إلى الطلب الصادر لنقطة الحفظ.
- إرسال طلب requestBulkDataExchange باستخدام العميل.
- فحص الاستجابة.
- إذا كانت الاستجابة ناجحة، فإن المعالج يضع نظام المصدر في وضع BulkMode (إذا لم يكن كذلك بالفعل) ويقوم بإرجاع قيمة صحيحة.
- إذا كانت الاستجابة خطأً، فإن المعالج يقوم بإخراج نظام المصدر من BulkMode، وتحديث حالة المهمة إلى خطأ، وتسجيل الخطأ، وإرجاع قيمة خطأ.
RequestBulkDataDefaultJobIdHandler
يضيف هذا المعالج معلومات إضافية إلى IMJobId، الذي يُستخدم لاحقًا لتعيين MessageId، لتسهيل تعقب الرسائل المجمعة واستكشاف أخطائها وإصلاحها.
التنفيذ
D2L.IM.IPSIS.LIS.BDEMS.Default.RequestBulkDataDefaultJobIdHandler
السلوك المتوقع
إذا كان BulkJob يحتوي على IMJobId، فإن المعالج يقوم بسلسلة اسم نظام معلومات الطالب لنظام المصدر على مقدمة IMJobId (إضافة).
ملاحظة التكوين
يجب تكوين هذا المعالج قبل RequestBulkDataExchangeHandler.
RequestBulkDataTruncateJobIdHandler
لا يقوم PeopleSoft بمعالجة messageIds المجمعة التي يزيد طولها عن 20 حرفًا. يقوم هذا المعالج باقتطاع IMJobId، الذي يتم استخدامه لاحقًا لتعيين MessageId، لضمان أن القيمة فريدة قدر الإمكان، مع البقاء ضمن حد الـ 20 حرفًا.
التنفيذ
D2L.IM.IPSIS.LIS.BDEMS.Default.RequestBulkDataTruncateJobIdHandler
السلوك المتوقع
إذا كان BulkJob يحتوي على IMJobId، فإن المعالج يقوم بحذف الواصلات من IMJobId، ثم اقتطاع IMJobId إلى 20 حرفًا.
ملاحظات التكوين
- يجب تكوين هذا المعالج قبل RequestBulkDataExchangeHandler.
- يجب استخدام هذا المعالج كحل بديل فقط لخطأ PeopleSoft الذي يقيدهم بـ 20 حرفًا كحد أقصى.