如何检测挂起的JDO事务?

时间:2010-06-03 19:05:54

标签: java database google-app-engine transactions

我相信由于交易嵌套,我得到JDO提交异常,虽然我不确定。

当另一个待处理时,这会检测到我正在开始交易的情况吗?

 PersistenceManager pm = PersistenceManagerFactory.get().getPersistenceManager();
 assert  pm.currentTransaction().isActive() == false  : "arrrgh";
 pm.currentTransaction().begin();

有更好或更可靠的方式吗?

1 个答案:

答案 0 :(得分:0)

由Ikai Lan(谷歌)提供

您无法检测交易是否有效。原因是数据存储区实体组没有悲观锁定:它们被乐观锁定。也就是说,检查应用程序是否在陈旧数据上运行是在写入时检查,而不是在数据读取时检查。