异步处理REST服务
Spring mvc 中支持两种异步执行方法的方式,第一种:使用Callable<>接口, 第二种使用: DeferredResult类
注意:如果你需要拦截异步的方法,在拦截器中实现Spring提供的相应方法即可,不然拦截不到
1、使用Callable接口实现
我们在Controller方法中使用Callable接口创建一个子线程用来处理我们的业务,然后直接返回Callable<?>,这样主方法很快就运行完成,而请求响应需要等子线程运行完成,代码如:
/**
* 使用Callable接口
*
* @return
*/
@GetMapping("/call")
public Callable<String> asyncCallableMethod() {
System.out.println("main exec");
Callable<String> result