Устранение неполадок DataNucleus JDO - PullRequest
1 голос
/ 29 ноября 2009

Я использую плагин Eclipse для Google App Engine 1.2.6 и Web Toolkit 1.7.1 DataNucleus / JDO сводит меня с ума! Я подозреваю, что либо мои создания молча выдают ошибки перед записью И / ИЛИ чтения не заполняют объекты.

Я мог бы использовать несколько советов, чтобы выяснить, что на самом деле происходит.

  • При использовании минимально неизмененного проекта GAE, где находится журнал, написанный dn Enhancer?
  • Есть ли журнал, написанный кодом хранилища данных?
  • Есть ли способ проверить содержимое файла local_db.bin?

  • Используя приведенный ниже базовый синтаксис транзакции JDO, как понять ошибку / исключение, не нарушая встроенный механизм обработки ошибок?

ТИА, Andy

    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);

1 Ответ

2 голосов
/ 30 ноября 2009

Итак, вы хотите отладить это, но вы установили уровни журнала на INFO? Я бы предположил, что DEBUG будет иметь больше смысла. В документации GAE / J есть страница для регистрации - не могу вспомнить URL, извините; Ищите их в группе Google, потому что есть несколько сообщений об этом. Как вы вызываете энхансер, не определено? Используете плагин Eclipse от Google? или вручную? или Maven2? или муравей? Документы DN определяют, где находится журнал ... для всех параметров, кроме плагина Googles (поскольку он принадлежит им, и мы его не поддерживаем).

Очевидно, что есть просмотрщик local_db - поищите в своей группе Google

- Энди (DataNucleus)

...