看这篇文章之前,建议你先去看一下我写的上一篇《RestTemplate调用远程Http服务开发》
一、背景介绍
我们在开发过程中有时候会遇到这样的开发场景:如果调用请求响应比较慢,甚至请求超时,程序就必须等到请求返回以后才能继续执行。然而在某些场合下,我并不需要等待请求的结果,或者我并不关心请求是否执行成功,只需要帮我继续执行之后的逻辑即可,减少响应时间,此时就需要通过异步处理。
在 Spring 3 时代,为了能更优雅地实现HTTP调用,引入了 RestTemplate,其中提供了多种便捷访问远程Http服务的同步调用方法,能够大大提高客户端的编写效率。
在 Spring 4 时代,为了能实现异步地HTTP调用,引入了AsyncRestTemplate,使得编写异步代码和同步代码一样简单。
在 Spring 5 时代,AsyncRestTemplate已经被标注过时,@deprecated as of Spring 5.0, in favor of {@link org.springframework.web.reactive.function.client.WebClient} ,推荐使用Spring 5中的WebClient。WebClient是Spring 5的响应式Web框架Spring WebFlux的一部分,位于spring-webflux项目中。将在后面文章中进行介绍。
二、AsyncRestTemplate介绍
AsyncRestTemplate底层是基于RestTemplate+异步线程池实现的。因此AsyncRestTemplate的很多调用方法跟RestTemplate很相似,

最低0.47元/天 解锁文章
5645

被折叠的 条评论
为什么被折叠?



