zoukankan      html  css  js  c++  java
  • springretry

    package com.example.demo.springretry;
    
    import org.springframework.context.annotation.Configuration;
    import org.springframework.retry.annotation.EnableRetry;
    
    @EnableRetry
    @Configuration
    public class RetryConfiguration {
    
    
    }
    View Code
    package com.example.demo.springretry;
    
    import lombok.extern.slf4j.Slf4j;
    import org.springframework.retry.annotation.Backoff;
    import org.springframework.retry.annotation.Recover;
    import org.springframework.retry.annotation.Retryable;
    import org.springframework.stereotype.Service;
    
    @Service
    @Slf4j
    public class RetryService {
    
        /**
         * @Retryable注解:
         * value: 抛出指定异常才会重试
         * include:和value一样,默认为空,当exclude也为空时,默认所以异常
         * exclude:指定不处理的异常
         * maxAttempts:最大重试次数,默认3次
         * backoff:重试等待策略,默认使用@Backoff,@Backoff的value默认为1000L;multiplier(指定延迟倍数)
         */
        @Retryable(value = Exception.class, maxAttempts = 3, backoff = @Backoff(delay = 2000L, multiplier = 2))
        public void devide(double a, double b){
            log.info("开始进行除法运算");
            if (b == 0) {
                throw new RuntimeException();
            }
            log.info("{} / {} = {}", a, b, a / b);
        }
    
        /**
         * @Recover注解:
         * 当重试达到指定次数时候该注解的方法将被回调
         * 发生的异常类型需要和@Recover注解的参数一致
         * @Retryable注解的方法不能有返回值,不然@Recover注解的方法无效
         */
        @Recover
        public void recover() {
            log.error("被除数不能为0");
        }
    
    
    }
    View Code
  • 相关阅读:
    euler v10 dracut失败
    基于RYU应用开发之负载均衡
    4、网上收集Storm 讲解图
    3、SpringBoot 集成Storm wordcount
    git常用
    3、SpringBoot集成Storm WorldCount
    2、Storm中的一些概念理解
    1、Storm集群安装
    8、Spring-Kafka Recving Messages
    7、Kafka、AMQ、RabbitMQ对比
  • 原文地址:https://www.cnblogs.com/sunny-miss/p/13057716.html
Copyright © 2011-2022 走看看