SpringRetry接口重试机制

简介: SpringRetry接口重试机制

添加依赖

<dependency>
            <groupId>org.springframework.retry</groupId>
            <artifactId>spring-retry</artifactId>
        </dependency>

启动类添加@EnableRetry

重试代码实现

@Slf4j
@Component
public class RetryComponent {
    @Retryable(
//            value = {
                IllegalArgumentException.class,
                ArrayIndexOutOfBoundsException.class
//            },     // 指定重试的异常,不是这个则不重试
            exclude = NullPointerException.class,   // 指定不去重试的异常,抛出的这个异常不会进行重试
            maxAttempts = 5,         // 重试的总次数
            backoff = @Backoff(
                    delay = 1000L,
                    multiplier = 2
            )   // 重试间隔为1秒,后续的重试间隔时间为1/2/4/8秒
    )
    public boolean sendSmsWithRetry() {
        log.info("当前时间 Time={}", LocalDateTime.now());
        return SMSUtilsRetry.sendSMS();
    }
    // 达到最大重试次数,或者抛出一个没有被设置(进行重试)的异常
    // 可以作为方法的最终兜底处理,如果不处理,也行随意
    @Recover
    public boolean recover() {
        GraceException.display(ResponseStatusEnum.SYSTEM_SMS_FALLBACK_ERROR);
        return false;
    }
}
目录
相关文章
|
2月前
|
NoSQL 关系型数据库 MySQL
接口防刷 && 接口幂等性问题
接口防刷 && 接口幂等性问题
39 0
OKHTTP解析之RetryAndFollowUpInterceptor重试机制
OKHTTP解析之RetryAndFollowUpInterceptor重试机制
|
2月前
|
C++
C++处理的异常的机制
C++处理的异常的机制
|
2月前
|
XML 负载均衡 Dubbo
了解Dubbo配置:优先级、重试和容错机制的秘密【五】
了解Dubbo配置:优先级、重试和容错机制的秘密【五】
85 0
|
2月前
|
监控
异步处理机制如何处理消息处理失败的情况?
异步处理机制如何处理消息处理失败的情况?
59 0
|
10月前
|
安全 Java
Hystrix超时机制为服务接口调用超时提供安全保护
Hystrix超时机制为服务接口调用超时提供安全保护
93 1
|
SQL 监控 JavaScript
接口突然超时10宗罪。。。
接口突然超时10宗罪。。。
|
前端开发 NoSQL Java
什么是接口幂等性?为什么会产生接口幂等性问题?如何保证接口幂等性?
什么是接口幂等性?为什么会产生接口幂等性问题?如何保证接口幂等性?
264 0
什么是接口幂等性?为什么会产生接口幂等性问题?如何保证接口幂等性?
|
前端开发 NoSQL Java
如何保证接口幂等性?一口气说了12种方法!
幂等性原本是数学上的概念,用在接口上就可以理解为:**同一个接口,多次发出同一个请求,必须保证操作只执行一次**。调用接口发生异常并且重复尝试时,总是会造成系统所无法承受的损失,所以必须阻止这种现象的发生。
483 0
|
关系型数据库 测试技术 索引
老万教你最简单接口幂等性控制
老万教你最简单接口幂等性控制
146 0
老万教你最简单接口幂等性控制

热门文章

最新文章