我正在使用适用于 Google App Engine 1.2.6 和 Web Toolkit 1.7.1 DataNucleus/JDO 的 Eclipse 插件让我发疯!我怀疑我的创建在被写入之前会默默地出错和/或读取不一致地填充对象。
我可以使用一些技巧来弄清楚到底发生了什么。
- 使用最小未修改的GAE项目,dn增强器写入的日志在哪里?
- 是否有数据存储代码写入的日志?
无论如何要检查内容 local_db.bin 文件吗?
使用下面的基本 JDO 事务语法,我如何在不干扰内置错误处理机制的情况下理解错误/异常?
TIA,安迪
私人最终提供者<PersistenceManager> 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("错误信息为什么失败");
}
}
返回(结果);