CDI - معالجة الأخطاء
-
01-10-2019 - |
سؤال
أقوم بترحيل تطبيق Seam 2 الذي يعمل بالطاقة إلى CDI وأحد الأشياء المهمة بالنسبة لي هو الاحتفاظ به هو معالجة الأخطاء. في Seam 2 ، قمت ببساطة باستبدال معالج الاستثناء الافتراضي بذني ، لكن في CDI ، أظن أنني سأضطر إلى استخدام اعتراض.
كيف يمكنني إعداد هذا الأمر على أنه استخدام اعتراض يتطلب مني تحديد مكان اعتراض المكالمات؟ أريد في الغالب إنجاز التدقيق ، لذلك عندما يحدث استثناء ، يتم تسجيله ، ثم يتم إرسال إشعار (البريد الإلكتروني ، XMPP ، SMS ، مكالمة هاتفية) إلى المسؤولين.
عندما يحدث استثناء ، هل هناك مجرد حدث يمكنني الاستماع إليه والتصرف عليه؟
والتر
المحلول
هل تستخدم JSF2؟ إذا كانت الإجابة بنعم ، بدلاً من كتابة اعتراض ، يمكنك تسجيل استثناء HandlerFactory في web.xml كما هو موضح هنا. في CustomexceptionHandler ، يمكنك التقاط جميع الاستثناءات والتعامل معها برمجيًا. أنا أستخدم هذا النهج في تطبيق JEE6-CDI ، ابحث عنه جيدًا.