我可以使用GAE的JDO定义只读事务吗?

时间:2010-02-02 20:46:38

标签: google-app-engine jdo google-cloud-datastore

我正在使用最新版本的GWT GAE w / JDO堆栈。 我有一个任务队列用数据存储库更新持久对象。 我还有一个显示保存对象的gwt用户界面(无需修改)。

给定严格定义的事务(start / commit)边界。有没有办法为GUI定义一个与更新对象的任务不冲突的GUI的只读事务?

我认为他们存在冲突并抛出这些例外(删节)

javax.jdo.JDODataStoreException: Transaction rolled back due to failure during commit

at org.datanucleus.jdo.NucleusJDOHelper.getJDOExceptionForNucleusException(NucleusJDOHelper.java:402)  在org.datanucleus.jdo.JDOTransaction.commit(JDOTransaction.java:132)     ....     NestedThrowablesStackTrace:     java.sql.SQLException:并发修改  在org.datanucleus.store.appengine.DatastoreTransaction.commit(DatastoreTransaction.java:70)

1 个答案:

答案 0 :(得分:0)

应用引擎数据存储实际上使用optimistic concurrencymore),而不是锁定。这意味着只读取的事务不会干扰或引起与包含写入的其他写入或事务的争用。