1. 简介
spring-retry是Spring提供的一个基于Spring的重试框架,某些场景需要对一些异常情况下的方法进行重试。
2. 官网地址
https://github.com/spring-projects/spring-retry
3. 快速开始
- 依赖Maven配置
<dependency>
<groupId>org.springframework.retry</groupId>
<artifactId>spring-retry</artifactId>
</dependency>
- 开启重试功能,@EnableRetry
@EnableRetry //启动类,配置开启
@SpringBootApplication
public class TestApplication {
public static void main(String[] args) {
SpringApplication.run(TestApplication.class, args);
}
}
- 在指定方法上配置重试,@Retryable
@Retryable(value = {异常A.class, 异常B.class}, maxAttempts = 3, backoff = @Backoff(delay = 5000L, multiplier = 5))
public void syncData(String beginTime, String endTime) throws Exception {
}
@Retryable注解属性
属性名称 | 描述 |
---|---|
value | 指定发生的异常进行重试 |
include | 指定的异常进行重试,默认空,当exclude也为空时,所有异常都重试 |
value | 指定的异常不重试,默认空,当include也为空时,所有异常都重试 |
maxAttempts | 重试次数,默认为3 |
backoff | 重试补偿机制,默认无 |
@Backoff注解属性
属性名称 | 描述 |
---|---|
delay | 指定重试延迟时间 |
multiplier | 指定延迟时间的倍数,比如delay=5000l,multiplier=2时,第一次重试为5秒,第二次重试为10秒 |
网友评论