【问题标题】:Can I define a read-only transaction using GAE's JDO?我可以使用 GAE 的 JDO 定义一个只读事务吗?
【发布时间】:2010-02-02 20:46:38
【问题描述】:

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

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

我相信他们是冲突的并抛出这些异常(节略)

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

在 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)

【问题讨论】:

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


    【解决方案1】:

    应用引擎数据存储实际上使用optimistic concurrency (more),而不是锁定。这意味着只进行读取的事务不会干扰或导致与其他写入或包含写入的事务发生争用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-12
      • 1970-01-01
      • 1970-01-01
      • 2011-02-08
      • 2011-02-16
      • 2011-12-18
      相关资源
      最近更新 更多