项目调用三方接口,三方想要5秒内返回处理结果,但是业务处理至少一分钟,这时候就需要用到异步处理
刚开始使用一直不生效,最后发现自己将一步方法写在了调用类的内部:
类似这种:
发现一只不起作用:
找其原因是因为写在了一个内部类中,无法进行springAop代理
修改:
执行:
总结:
- 异步方法需要public修饰
- 方法返回值为void或者Future
- 不能将异步方法写在调用的内部(无法交给springAop做代理)
- 没有在@SpringBootApplication启动类当中添加注解@EnableAsync注解