java - 如何检测待处理的 JDO 事务?

标签 java database google-app-engine transactions

我相信由于事务嵌套,我收到了 JDO 提交异常,尽管我不确定。

这是否会检测到我正在启动一个事务而另一个事务处于待处理状态的情况?

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

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

最佳答案

由 Ikai Lan (Google) 提供

您无法检测交易是否处于 Activity 状态。原因是数据存储实体组不是悲观锁定:它们是乐观锁定。也就是说,检查应用程序是否操作过时数据是在写入时检查,而不是在数据读取时检查。

关于java - 如何检测待处理的 JDO 事务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2968945/

相关文章:

database - Python 3 - 与 JDBC 连接

javascript - JavaScript 可以用来在服务器上发送和存储信息吗?

java - 应用引擎身份验证

google-app-engine - 经过身份验证的用户尚未授予 app xxx 对子文件 xxx 的写权限,这将受到对父文件的操作的影响

google-app-engine - 如何使用结构数组实现 google datastore propertyloadsaver

java - 是否可以使用 Google App Engine 为每个子域使用不同的数据存储?

java - 字符串太大,无法使用 UTF-8 进行编码,而改为 'STRING_TOO_LARGE'

java - Json数据如何使用Jsp传入DataTable

java - JSSC 中的读写超时

json - 如何在 React Native 中将 this.props.key 设置到 Firebase 数据库引用中