【问题标题】:Troubleshooting DataNucleus JDODataNucleus JDO 故障排除
【发布时间】:2010-12-21 07:18:20
【问题描述】:

我正在为 Google App Engine 1.2.6 和 Web Toolkit 1.7.1 使用 Eclipse 插件 DataNucleus/JDO 快把我逼疯了! 我怀疑我的创建在被写入之前会默默地出错和/或读取不一致地填充对象。

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

  • 使用最小未修改的GAE项目,dn增强器写入的日志在哪里?
  • 是否有数据存储代码写入的日志?
  • 有没有办法检查local_db.bin文件的内容?

  • 使用下面的基本 JDO 事务语法,如何在不干扰内置错误处理机制的情况下理解错误/异常?

TIA, 安迪

私人最终提供者 pmp; 私人 PersistenceManager 下午; 我的结果结果; // 来自处理程序的结果,通常有对象 id 或错误消息 尝试 { pm = pmp.get(); pm.currentTransaction().begin(); /* 验证、获取、创建/更新持久化 myObject */ pm.currentTransaction().commit(); 结果 = 新的 MyResult(myObject.getId()); } 最后 { if (pm.currentTransaction().isActive()) { logger.severe("DN 失败..."); pm.currentTransaction().rollback(); result = new MyResult("错误信息为什么失败"); } } 返回(结果);

【问题讨论】:

  • DN 的运行时日志记录受 logging.properties 文件内容的影响,我在此处将其从 WARN 更改为 INFO:DataNucleus.JDO.level=INFO DataNucleus.Persistence.level=INFO DataNucleus .Cache.level=INFO DataNucleus.MetaData.level=INFO DataNucleus.General.level=INFO DataNucleus.Utility.level=INFO DataNucleus.Transaction.level=INFO DataNucleus.Datastore.level=INFO DataNucleus.ClassLoading.level=INFO DataNucleus。 Plugin.level=INFO DataNucleus.ValueGeneration.level=INFO DataNucleus.Enhancer.level=INFO DataNucleus.SchemaTool.level=INFO

标签: java google-app-engine jdo datanucleus


【解决方案1】:

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

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

--安迪(DataNucleus)

【讨论】:

    猜你喜欢
    • 2023-03-10
    • 1970-01-01
    • 2013-07-15
    • 2010-11-30
    • 2021-09-11
    • 2012-02-18
    • 2011-03-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多