1、导入 spring-retry 依赖
<dependency>
<groupId>org.springframework.retry</groupId>
<artifactId>spring-retry</artifactId>
</dependency>
2、定义注解 @SpringRetry
@Target(value = {ElementType.METHOD, ElementType.TYPE})
@Retention(value = RetentionPolicy.RUNTIME)
public @interface SpringRetry {
//重试策略参数
Backoff backoff() default @Backoff;
//最大重试限制次数
int maxAttempts() default 3;
//重试异常类型
Class<? extends Throwable>[] retryFor() default {};
}
3、实现重试切面业务
@Slf4j
@Aspect
@Component
public class RetryAspect