代码之家  ›  专栏  ›  技术社区  ›  Stevko

排除DataNucleus JDO故障

  •  1
  • Stevko  · 技术社区  · 16 年前

    我正在使用Google应用引擎1.2.6和Web工具包1.7.1的Eclipse插件。 DataNucleus/JDO把我逼疯了! 我怀疑我的创建在被写入和/或读取不一致地填充对象之前是在悄悄地出错。

    我可以用一些技巧来弄清楚到底发生了什么。

    • 使用最小未修改的GAE项目,DN增强器在哪里编写日志?
    • 有数据存储代码写的日志吗?
    • 是否仍要检查本地\u 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);
    
    1 回复  |  直到 16 年前
        1
  •  2
  •   DataNucleus    16 年前

    所以您想调试这个,但您设置日志级别为信息?我建议调试更有意义。gae/j文档在日志中有一些页面-记不起URL抱歉;搜索他们的Google组,因为有几个关于它的帖子。如何调用增强器还没有定义?使用谷歌的Eclipse插件?还是手动?还是Maven2?还是蚂蚁?DN文档定义日志的位置…除了Google插件以外的所有选项(因为这是他们的插件,我们不支持它)。

    显然有一个本地的数据库浏览器-搜索他们的谷歌组

    --安迪(数据核)