gpt4 book ai didi

java - Spring启动异步 Controller

转载 作者:行者123 更新时间:2023-12-02 11:36:40 33 4
gpt4 key购买 nike

我有这个发布方法:

 @PostMapping("/upload")
public String singleFileUpload(@RequestParam("file") MultipartFile file,RedirectAttributes redirectAttributes)
throws IOException {
ExecutorService service= Executors.newSingleThreadExecutor();
Future<String> future=service.submit(new Callable<String>() {
@Override
public String call() throws Exception {
//parse file
Thread.sleep(5000);
return "done";
}
});
String result=future.get();
service.shutdown();
return "redirect:uploadState";
}

我想在执行程序解析我的文件时重定向到 uploadState,并且 uploadState 有长轮询 ajax 来通知解析是否完成。可以帮助我提供一些提示。

最佳答案

这里 future.get() 是拦截器。

您可以使用 Java 8 CompletableFuture :

CompletableFuture.supplyAsync(() -> {
try{
Thread.sleep(5000);
return "done";
}catch(Exception ex){}
}).thenApply((res->)->{
return res;
});

它不会阻止您的控制。

关于java - Spring启动异步 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48882490/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com