SpringBoot 异步任务
两个重要的注解:
@Async
@
EnableAsync
1)、先说一下不用异步任务的情况:
上面的 controller 我调用了 service 里面的方法,调用完成之后,返回给页面一个 success 的字符串。但是 service 里面的方法我让他睡眠了 3 秒钟,如果采用同步的方式(也就是上面写的那种方式),我必须等 service 里面的方法执行完之后,才能给页面返回 success 字符串。
2)、下面看下使用异步任务的情况:
上面的这种情况我采用了异步调用的方式,我 Controller 里面方法在调用 Service 里面的方法时,由于 Service 的方法标识了异步方法,所以我就可以在给页面返回 success 字符串的同时去执行 helloHeping 这个方法,就没有必要等这个方法执行完毕后,在返回 success 字符串给页面。
总结:
使用 springboot 异步任务主要两步:
1、在需要异步执行的方法上标注上
@Async
2、在 springboot 的主启动类上标注
@EnableAsync
开启异步任务
这两步缺一不可。
版权声明: 本文为 InfoQ 作者【hepingfly】的原创文章。
原文链接:【http://xie.infoq.cn/article/82a53233c7bc89969e2fd2513】。文章转载请联系作者。
评论