一:任务
1.任务
使用Runnable异步处理Rest服务
使用DefaultResult异步处理Rest服务
异步处理的配置
2.原理图说明
二:Callable进行异步处理
1.程序
新建一个anysc的包
1 packagecom.cao.web.async;2
3 importjava.util.concurrent.Callable;4
5 importorg.slf4j.Logger;6 importorg.slf4j.LoggerFactory;7 importorg.springframework.web.bind.annotation.RequestMapping;8 importorg.springframework.web.bind.annotation.RestController;9
10 @RestController11 public classAsyncController {12 private Logger logger=LoggerFactory.getLogger(getClass());13
14 @RequestMapping("/order")15 public Callable order() throwsException {16 logger.info("主线程开始");17 //业务逻辑放在副线程中
18 Callable result=new Callable() {19
20 @Override21 public String call() throwsException {22 logger.info("副线程开始");23 Thread.sleep(5000);24 logger.info("副线程返回");25 return "success";26 }27
28 };29
30 logger.info("主线程返回");31
32 returnresult;33 }34
35 }
2.效果
重点关注时间