Java 如何立即停止调用API n time的循环的执行?在再次调用之前,我需要等待上一个API调用完成

Java 如何立即停止调用API n time的循环的执行?在再次调用之前,我需要等待上一个API调用完成,java,spring,Java,Spring,我有以下疑问 我有一个WSO2 ESB应用程序(基本上,您可以将其视为一个公开API的应用程序,该API可以被调用并执行某些操作) 此应用程序公开了一个执行某些操作的API(创建一个XML文档并将其发送到另一个web服务) 我必须构建一个外部非常简单的Java应用程序(我认为是一个Spring应用程序),它可以完成以下任务: 对数据库执行查询并获取n条记录(大量记录) 迭代这些检索到的记录,并对每个记录执行对该WSO2 ESB应用程序公开的API的调用 因此,如果我检索到10000条记录,它

我有以下疑问

我有一个WSO2 ESB应用程序(基本上,您可以将其视为一个公开API的应用程序,该API可以被调用并执行某些操作)

此应用程序公开了一个执行某些操作的API(创建一个XML文档并将其发送到另一个web服务)

我必须构建一个外部非常简单的Java应用程序(我认为是一个Spring应用程序),它可以完成以下任务:

  • 对数据库执行查询并获取n条记录(大量记录)
  • 迭代这些检索到的记录,并对每个记录执行对该WSO2 ESB应用程序公开的API的调用
因此,如果我检索到10000条记录,它将执行10000次对这个WSO2 ESB应用程序公开的API的调用

这似乎很简单。这个Java应用程序只需要保留一个约束:在迭代过程中,在WSO2 ESB应用程序终止与前一条记录相关的工作之前,它不能执行新的调用(我不能同时拥有多个WSO2 ESB应用程序实例)

因此,当Java应用程序终止其作业时,此WSO2 ESB API将向Java应用程序返回一个状态代码(消息)

处理这种情况的明智方法是什么?有人告诉我这样使用锁文件:当Java应用程序开始在目录中编写锁文件时。此锁定文件将在收到web服务的确认后重新保存

我不确定这个机制是否完美


在迭代中处理这种情况的明智方法是什么?Spring为我提供了一些东西,这是一种特殊的智能方式吗?

看起来足以使主方法调用同步。因此,任何其他请求都将等待执行结束。@StanislavL你到底是什么意思?“主方法调用已同步”是什么意思?你能告诉我更多的细节吗?因此,我将检查文档