美文网首页
Spring提供的重试模板Spring Retry的使用

Spring提供的重试模板Spring Retry的使用

作者: 和平菌 | 来源:发表于2020-04-09 11:40 被阅读0次

    使用场景:有些业务有调用失败的情况,可以 设置多次重试,当重试达到一定次数后取消重试。

    使用步骤:
    1、首先要添加依赖

              <dependency>
                    <groupId>org.springframework.retry</groupId>
                    <artifactId>spring-retry</artifactId>
                    <version>1.2.5.RELEASE</version>
                </dependency>
    
                <dependency>
                    <groupId>org.aspectj</groupId>
                    <artifactId>aspectjweaver</artifactId>
                    <version>1.9.2</version>
                </dependency>
    

    spring-retry依赖到了aspectjweaver,不添加会报错

    2、在应用配置类上添加 @EnableRetry 以打开Spring Retry的自动配置;
    ···
    @Configuration
    @EnableRetry
    public class Application {
    @Bean
    public Service service() {
    return new Service();
    }
    }
    ···

    3、在业务中使用

    @Retryable(RemoteAccessException.class)
        public void service() {
            log.info("调用服务");
            throw new RemoteAccessException("调用失败");
        }
        @Recover
        public void recover(RemoteAccessException e) {
            // ... panic
            log.info("全部调用失败,不再重试-->" + e.getMessage());
    
        }
    

    调用服务,当抛出定义的异常RemoteAccessException时,进行重试,默认重试3次(可配置),当重试3次后还失败则调用recover方法。

    相关文章

      网友评论

          本文标题:Spring提供的重试模板Spring Retry的使用

          本文链接:https://www.haomeiwen.com/subject/qdgqmhtx.html