springmvc的两种常用异步处理方法
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/programmeryu/article/details/91606271 1.DeferredResult 一旦 在Servlet容器中启用了异步请求处理功能,控制器方法就可以包装任何支持的控制器方法返回值DeferredResult,如下例所示: @GetMapping("/quotes") @ResponseBody public DeferredResult<String> quotes() { DeferredResult<String> deferredResult = new DeferredResult<String>(); // Save the deferredResult somewhere.. return deferredResult; } // From some other thread... deferredResult.setResult(data); 控制器可以从不同的线程异步生成返回值 - 例如,响应外部事件(JMS消息),计划任务或其他事件。 2.Callable 控制器可以使用包装任何支持的返回值java.util.concurrent.Callable,如以下示例所示: @PostMapping public Callable<String>