سؤال

أنا أستخدم المكون الإضافي 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)

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