究竟什么“通过交易,第二次尝试以原子方式失败”是什么意思?

时间:2011-07-15 11:03:56

标签: transactions google-cloud-datastore

我正在使用GAE,我发现the documentation关于如何使用事务处理两个尝试使用相同密钥创建实体的线程。不幸的是,文档并不清楚如何检测这种情况。它说“第二次尝试原子地失败”,但是怎么样?它是否会引发异常,如果是,那么哪一个?

1 个答案:

答案 0 :(得分:1)

它引发了ConcurrentModificationException。在您的docs link之后,就在第一个代码块之后:

  

这需要一个事务,因为该值可能会被另一个用户更新...如果在事务期间更新了实体,那么事务将因ConcurrentModificationException而失败。应用程序可以重复事务以使用新数据。