如何避免导致ObjectOptimisticLockingFailureException的两个预定作业冲突

时间:2017-05-30 13:00:39

标签: java spring hibernate jpa spring-data-jpa

我有两个不同的预定cron作业,每15分钟运行一次,并在60秒内完成作业。两者都采取相同的行动:读取然后进程,然后使用JpaRepository保存方法保存权利,并导致以下错误

nextsongs?sid=#

作为修复,我想避免两个工作之间的冲突。我想用@Scheduled(fixedelay)两种不同的固定延迟,但它们也可以重叠。 请帮帮我。

1 个答案:

答案 0 :(得分:0)

尝试使用悲观锁定。在实体的事务中添加select for update。第二个应该等到事务1结束。