DataNucleus JDO 故障排除
-
06-07-2019 - |
题
我正在为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)
不隶属于 StackOverflow