首页 > 解决方案 > 处理与用户相关的事务并发(Spring Data JPA)

问题描述

我对同一用户有 10 个并发请求,这些请求将转到我的 upsert 服务。我有 secnario 这样如果已经可用,它将更新或创建。

在这里,当请求来时,所有人都会发现没有任何数据存在并去创建。但我希望这可以针对特定用户进行处理。我不想要同步块左右,因为它会限制所有请求。我想要特定用户的锁之类的东西。

建议一些更好的方法。

标签: javahibernateconcurrencyspring-data-jpa

解决方案


例如,您可以通过值同步您的代码user.id。在这种情况下,您不会阻止所有请求,您只会阻止同一id.

查看这个库XSync(通过对象的值进行同步)。

我希望它有所帮助。


推荐阅读