springboot异步注解_基于注解@Async的SpringBoot异步调用及使用场景

SpringBoot的异步调用,异步调用类似与定时任务,使用起来简单方便。

首先要在springboot项目的启动上添加@EnableAsync开启异步监控,自动扫描。没有这个主角儿一切都是扯淡。

ac4ad9244a074ccbb1039c072cdf67f2.png

第二步就是创建异步任务组件,把@Async加到需要异步执行的方法上即可,注解丢了就变成同步任务了。注意该异步方法必须是 public 的。这个示例类里面写了俩个方法,一个sleep1000毫秒,另一个sleep3000毫秒。

ab2f23c2382064d1359c212065204904.png

异步步方法如果是没有返回值,那就和常规方法样写,有返回值那么返回值类型就是Future。这个接口Future专门接收异步响应。具体的结果类型为AsyncResult,支持泛型。

第三写好控制类。通过注解把服务添加进来,统计了个执行时间,由此可以看出来确实是异步调用。

1d7c139df50e206377d78f78a245a8da.png

此图即为异步调用耗时,两个任务是各干各的。

01641c3d980664ff05451b67433270b8.png

此处为同步执行,执行完一个再执行另一个。

c13676c9cc071366db23bec6ea126dc8.png

异步调用如果出现了异常,使用者很难发现的。最好通过实现AsyncTaskExecutor自定义处理。

异步调用通常用在发短信、发送邮件、消息推送 、运维凌晨自动化操作等,这些场景实时性要求不高,大多都是推广统计等服务。

基于注解@Scheduled实现SpringBoot定时任务

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值