15.1Retry重试机制

1.概述

     在调用第三方接口或者使用mq时,会出现网络抖动,连接超时等网络异常,所以需要重试。为了使处理更加健壮并且不太容易出现故障,后续的尝试操作,有时候会帮助失败的操作最后执行成功。

2.使用Retry

 引入依赖


        
            org.springframework.retry
            spring-retry
        
        
            org.aspectj
            aspectjweaver
        

启动类开始retry重试机制

15.1Retry重试机制_第1张图片

使用 重试机制,在service层添加新接口实现重试代码

  @Override
    @Retryable(value = {BusinessException.class},backoff = @Backoff(delay = 5000,multiplier = 2))
    public AyUser findByNameAndPasswordRetry(String name, String password) {
        System.out.println("主动扔出异常,测试重试机制");
        throw new BusinessException();
    }

测试,将会重试三次,控制台打印三次"主动扔出异常,测试重试机制"。因为@retryable中有maxAttempts属性 (最大重试次数),默认是3(次)

你可能感兴趣的:(15.1Retry重试机制)