استكشاف أخطاء DataNucleus JDO وإصلاحها
-
06-07-2019 - |
سؤال
أنا أستخدم المكون الإضافي Eclipse لمحرك تطبيق Google 1.2.6 و Web Toolkit 1.7.1 Datanucleus/JDO يقودني جنونًا!أظن أن عمليات الإنشاء الخاصة بي تحدث خطأً بصمت قبل كتابتها و/أو أن القراءات تقوم بملء الكائنات بشكل غير متسق.
يمكنني استخدام بعض النصائح لمعرفة ما يحدث بالفعل.
- باستخدام مشروع GAE غير معدل إلى أدنى حد، أين يوجد السجل المكتوب بواسطة مُحسِّن dn؟
- هل هناك سجل مكتوب بواسطة رمز مخزن البيانات؟
هل هناك أي طريقة لفحص محتويات ملف local_db.bin؟
باستخدام صيغة معاملة JDO الأساسية أدناه، كيف يمكنني فهم الخطأ/الاستثناء دون إزعاج آلية معالجة الأخطاء المضمنة؟
تيا ، آندي
private final Provider<PersistenceManager> pmp; private PersistenceManager pm; MyResult result; // results from handler, usually has object id or error message try { pm = pmp.get(); pm.currentTransaction().begin(); /* validate, fetch, create/update persistent myObject */ pm.currentTransaction().commit(); result = new MyResult( myObject.getId() ); } finally { if (pm.currentTransaction().isActive()) { logger.severe("DN fails..."); pm.currentTransaction().rollback(); result = new MyResult( "error message why failed" ); } } return (result);
المحلول
هل تريد تصحيح هذا الخطأ ولكنك قمت بتعيين مستويات السجل على INFO؟أقترح أن يكون DEBUG أكثر منطقية.تحتوي مستندات GAE/J على بعض الصفحات الخاصة بالتسجيل - لا أستطيع تذكر عنوان URL آسف؛ابحث في مجموعة Google الخاصة بهم لأن هناك العديد من المشاركات حول هذا الموضوع.لم يتم تعريف كيفية استدعاء المحسن؟باستخدام البرنامج المساعد جوجل Eclipse؟أو يدويا ؟أو مافن 2 ؟أو النملة ؟تحدد مستندات DN مكان السجل ...لجميع الخيارات باستثناء مكون Google الإضافي (نظرًا لأن هذا خاص بهم ونحن لا ندعمه).
من الواضح أن هناك عارض local_db - ابحث في مجموعة Google الخاصة بهم
--آندي (DataNucleus)