有谁可以告诉我如何通过Spring mvc同时处理http请求? 我已经尝试使用CompletableFuture或DeferredResult,它允许我在另一个线程中处理请求,但下一个请求仍在等待,直到上一个完成。
我可能会错过什么?
控制器的方法:
@RequestMapping(value = "simple/async/cf", method = RequestMethod.GET)
public CompletableFuture<ResponseEntity<String>> simpleAsyncCf() {
return CompletableFuture.runAsync(() -> sleep(1000))
.thenApplyAsync(v -> ResponseEntity.ok(getRandomString()));
}
@RequestMapping(value = "simple/async/df", method = RequestMethod.GET)
public DeferredResult<ResponseEntity<String>> simpleAsyncDf() {
DeferredResult<ResponseEntity<String>> result = new DeferredResult<>();
CompletableFuture.runAsync(() -> sleep(1000))
.thenApplyAsync(v -> result.setResult(ResponseEntity.ok(getRandomString())));
return result;
}