سؤال

أنا أكتب محول الموارد الذي لا يدعم الالتزام على مرحلتين.أعلم أن هناك تقنية تحسين تسمى:“آخر تحسين للموارد”.

في JBoss، يجب على فئة XAResource الخاصة بك تطبيق LastResource حتى تتمكن من الحصول على التحسين.

سؤالي هو:كيف يمكن القيام بذلك في WebLogic وWebSehre وGlassfish وما إلى ذلك...

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

المحلول

منطق الويب: بقدر ما أعلم (قد يكون خطأً كبيرًا) يمكن استخدام برامج تشغيل JDBC فقط مع LRO، وهو ملف مهمة إدارية بحتة.عندما لا يدعم برنامج التشغيل XA، يمكن تهيئته لاستخدامه مع LRO: "حدد هذا الخيار إذا كنت تريد تمكين اتصالات XA JDBC من مصدر البيانات لمحاكاة المشاركة في المعاملات العالمية باستخدام JTA".

في الأساس، يتحمل LRO المورد الذي ليس له مرحلة إعداد، ولا يمكن الالتزام به إلا أو التراجع عنه.وبالتالي، إذا كان هناك مورد واحد فقط من هذا القبيل موجود في معاملة XA، فقد نحاول أولاً إعداد جميع الموارد الأخرى، ثم نلتزم بواحد LRO، ثم، إذا نجحنا، نلزم الآخرين، وإلا نتراجع عن الآخرين.

كما ترى، ليست هناك حاجة خاصة للإعلان عن أي واجهة.إنها خوارزمية يمكنها العمل مع أي مورد غير XA.لست متأكدًا من سبب امتلاك JBoss لذلك، لكنني لا أتوقع أن يكون لدى الخوادم الأخرى شيء مماثل.

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