【发布时间】:2013-09-07 17:27:42
【问题描述】:
这可能是一个常见问题,但我仍然不清楚解决方案。我正在使用 GAE (Datastore) ,与 Objectify 进行交互。我有一个关于并发的问题。
假设我们有一个对象,我们称之为 blarkar。用户“A”开始一个事务,他将尝试从数据库中加载 blarkar,对其进行修改,然后将修改后的版本保存回数据库中。
我知道在事务中,要么一切都发生,要么什么都没有发生,但我感到困惑的是 blarkar 对象是否被标记为已签出,以及它是否可以在由用户'A 启动的事务中被覆盖', 正在处理。
例如,如果另一个用户,我们称她为“B”,尝试将新版本的 blarkar 保存到数据库中,在用户“A”开始他的事务之后但在他结束之前,她的更改当用户 'A 的事务结束时被覆盖?
我再次使用 GAE 数据存储,并与 Objectify 进行交互。但是,Objectify 似乎只是实现了 Datastore 的事务 API。
非常感谢。
【问题讨论】:
标签: google-app-engine concurrency transactions google-cloud-datastore objectify