我正在为Google App Engine 1.2.6使用Eclipse插件,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 群组,因为有很多关于它的帖子。未定义如何调用增强器?使用 Google 的 Eclipse 插件?还是手动?还是Maven2?还是蚂蚁?DN 文档定义日志的位置...对于除 Google 插件之外的所有选项(因为那是他们的插件,我们不支持它)。

显然有一个 local_db 查看器 - 搜索他们的 Google 群组

——安迪(DataNucleus)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top