【发布时间】:2020-05-11 01:46:13
【问题描述】:
我正在开发一个 Spring webflux 项目,
我想做一些事情,当客户端调用 API 时,我想向客户端发送成功消息并在后台执行大文件操作。
所以客户不必等到我的整个文件处理完毕。
为了试用,我制作了如下示例代码
REST 控制器
@GetMapping(value = "/{jobId}/process")
@ApiOperation("Start import job")
public Mono<Integer> process(@PathVariable("jobId") long jobId) {
return service.process(jobId);
}
文件处理服务
public Mono<Integer> process(Integer jobId) {
return repository
.findById(jobId)
.map(
job -> {
File file = new File("read.csv");
return processFile(file);
});
}
下面是我的堆栈
Spring Webflux 2.2.2.RELEASE
我尝试使用 WebClient 进行此调用,但在未处理整个文件之前我没有收到响应。
谁能帮帮我。
谢谢
阿尔佩什
【问题讨论】:
标签: spring rx-java reactive-programming spring-webflux java-9