spring-boot - 我的控制器方法它正在加载数据并导出到另一个源,在这里我想让这个异步
问题描述
在这里,我想将以下代码设为异步。如果我添加此注释,我阅读了@Async
该注释,它是否足够或在主应用程序中还需要添加这里还需要考虑另一点,如果我多次调用此 API 第二次调用应该等到第一次调用完成(例如:我有第一次调用可能需要 5 分钟才能完成,但我再次在后台再次调用第一次调用仍在运行,一旦第一次调用完成,那么它只需要开始我的第二次调用)。
@Operation(summary = "load operation")
@PostMapping(value = "delta/load")
public void sendDeltaOutbound() {
cppService.loadData();
}
解决方案
你必须有
@SpringBootApplication
@EnableAsync
public class AsyncMethodApplication {
}
在服务方式上,你必须有@Async
@Service
public class FooService {
@Async
public BarFuture<Fuu> findFuuBaa(String baa) throws InterruptedException {
// ...
}
}
推荐阅读
- opencv - 在易受攻击的图像 OpenCV Python 上过滤噪声
- python - 使用“:”将伪代码翻译成python
- javascript - 使用 javascript 在真假之间切换 aria-expanded
- python - 使用 python 仅打印一个 json 键响应的值
- python - 为什么在 Windows 上合并 python 中的文件很慢?
- pandas - GroupBy 两个 DataFrame 的不同列之间的公共值
- python-3.x - 转移文本文件所有权python
- python - 如何在python数据框中将一行转换为带有条件的维度
- ios - SwiftUI Textfiled Binding 在 iOS 15 中触发 2 次
- r - pryr::object_size() 嵌套在小标题和/或数据帧中是否表现不佳?