美文网首页
Spring Retry的参数解析

Spring Retry的参数解析

作者: 陈强Mike晓 | 来源:发表于2020-04-16 15:08 被阅读0次

    @Retryable(value = Exception.class, maxAttempts =3, backoff =@Backoff(delay =2*60*1000L,maxDelay=10*60*1000L , multiplier =2))

    maxAttempts:设置最大的重新发起请求的次数,默认3次。

    delay:是每次延迟的次数,如果只设置此参数,没设置maxDelay,则delay不管设置多久。最长时间只能是30秒钟。

    列如:@Retryable(value = Exception.class, maxAttempts =3, backoff =@Backoff(delay =2*60*1000L , multiplier =2))   此时虽然delay设置成了2分钟但由于没有设置maxDelay,所以默认还是30秒。可以自己写demo进行测试。

    maxDelay:最大延迟的时间,不设置默认为30秒钟。

    multiplier:重新发起延迟时间的基数。

    本人还遇到一个问题,就是没有使用@Recover注解的时候,我次数设置maxAttempts的为2次时候,这时候会重新发起请求4次。

    如果maxAttempts设置为3的时候,这时候发起9次请求。

    不知道是什么原因导致的bug。

    最后加了@Recover,然后就正常了,maxAttempts设置的几次就是几次了。

    @Recover

    public int recover(Exception e) {

    logger.warn("减库存失败!!!" + LocalTime.now());

        return totalNum;

    }

    相关文章

      网友评论

          本文标题:Spring Retry的参数解析

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