并发读取并更新Spring数据

时间:2018-10-30 11:09:43

标签: java oracle concurrency transactions spring-data-jpa

我有同一应用程序的两个实例,它们使用一个数据库(oracle)。 基于Spring数据(CrudRepository)的应用程序。

问题: 每个应用程序实例都需要从表中读取行并将其锁定,以防止从另一个实例读取(和处理)。我通过CRUD repo read list 方法实现了它。然后为列表中的每个项目设置属性 busy ,并为每个项目调用CRUD save 方法。 但这并不是真正的并发安全:第二个实例可以在第一个实例将每个项目标记为并保存之前读取相同的列表。

我有个想法,要在开始时用一些UID更新每一行,然后使用此UID获取列表。但这就像秒杀

我该如何解决?交易?锁?谢谢

0 个答案:

没有答案