Spring boot处理异步请求

手上有个项目需要通过SMTP协议由第三方向目标邮箱发送邮件,但在向第三方发送请求的耗时实在太长,需要10秒左右的时间。由于是单方请求不需要回调,所以决定用没有返回的异步任务解决该问题。下面记录问题的解决过程。

1、在Application启动类上加上启用异步的注解@EnableAsync

2、编写Config配置类加上@Configuration作为配置类注册到springboot中,声明一个异步任务执行器类AsyncTaskExecutor加上@Bean注解注册到springboot中。

3、编写异步任务类并实现Serializable接口,在需要异步调用的方法上加上@Async的异步注解

4、在调用异步任务对象的业务类上加上@Scope(“prototype”)注解,使该业务类在实例化时候变成多例模式

5、经过测试,接口本身的调用时间不受异步任务影响,降到了38毫秒。

6、成功收到邮件

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容