在我们编写项目时,有时候需要调用外部接口,那这个时候就需要考虑如果出现异常怎么办,可能是网络访问异常,超时异常等等.SpringBoot为我们提供了重试机制,可适用于这种场景,
一.retry重试机制.
1.介绍:
就是对一个请求进行多次重试,可以指定重试的参数,例如重试次数,间隔,线程数等,还有什么异常情况下进行重试,如果达到指定上限可以进行最终的失败性处理.
二.使用步骤:
1.第一步引入依赖.
2.在类上使用EnableRetry注解,一般使用在service层.使开启retry功能.
3.在需要的方法上使用RetryAble注解.
里面可以指定各种参数,如,value指定捕获的异常,maxAttempts指定最大的重试次数.backoff指定重试策略.
4.指定最终失败执行的方法.
在方法上加上@Recover注解即可,这里注意每一个捕获的异常都必须指定一个具体的失败方法.不能使用一个方法.
三.举例.
重试服务类:
测试:
测试结果: