SpringBoot中使用@Async注解使用及其失效问题解决
需要在启动类上加上:
@EnableAsync
一个service中调用另一个Service中的异步方法
// 异步后台处理
asyncClueToPoolService.clueToPool(mRule);
另一个类中
@Async public void clueToPool(Rule mRule) { ... }
如果在异步类中使用一些注解服务,比如feign的服务,会报错: no resource
在SpringBoot或者Spring中若我们仅仅想使用异步功能,处理一些耗时久,且不是核心的逻辑,使用Spring的@Async注解即可,简单明了。
@Async注解虽然极其简单,但是里面的坑确是非常的多,这里简单的说一下其使用方法和着重补充一下注意事项。
使用方法
1. 若要使用异步,直接在public方法上加@Async注解。
2. 该方法所在的类一般属于实现类,即类上面有注解@Service或者@Component等。
注意事项(注解不起作用解决办法)
1. 启动类上要加上@EnableAsync 注解 ,代表开启异步。
2. 使用@Async注解的方法必须是public方法,使用private关键字,一定会失败。不能使用static修饰
3. 记带有@Async注解的方法为A类,那么调用该异步方法的方法一定需要在B类。作为开发者,最好将异步方法单独放在一个类当中,既不会出错,还便于管理。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
2022-06-26 linux配置环境变量执行命令 souce /etc/profile出现错误:/usr/libexec/grepconf.sh: line 5: grep: command not found 的解决办法