避免对Spring Async方法的重复调用

时间:2019-07-02 13:08:07

标签: spring spring-async

我们将微服务公开为Rest API。一个端点的工作是调用一种服务,该服务将从具有属性值Created的数据库中获取记录,然后对其进行处理。处理完成后,这些记录将以属性值Ready更新。这样做是为了在下次调用此API时,不会选择相同的记录进行处理。

问题:处理期间执行的操作不是幂等的。因此,如果客户端在先前的处理完成之前调用此API,它将再次选择正在处理的相同记录并导致问题。此外,完成所有这些处理的服务方法也是@Async方法,进一步增加了复杂性。

如果之前的处理尚未完成,有什么办法可以避免调用service方法?

0 个答案:

没有答案