java中重试的使用工具

  1. spring-retry
  2. easy-retry
  3. guava-retry

spring-retry中应该注意的东西

@EnableRetry

Retryable注解   被注解的方法发生异常时会重试 

  value:指定发生的异常进行重试 

   include:和value一样,默认空,当exclude也为空时,所有异常都重试 

         exclude:指定异常不重试,默认空,当include也为空时,所有异常都重试

      maxAttemps:重试次数,默认3 

     backoff:重试补偿机制,默认没有 @Backoff注解  

       delay:指定延迟后重试 

    multiplier:指定延迟的倍数,比如delay=5000l,multiplier=2时,第一次重试为5秒后,第二次为10秒,第三次为20秒  

 

  注意:   1、使用了@Retryable的方法不能在本类被调用,不然重试机制不会生效。也就是要标记为@Service,然后在其它类使用@Autowired注入或者@Bean去实例才能生效。    

       2、使用了@Retryable的方法里面不能使用try...catch包裹,要在发放上抛出异常,不然不会触发。  

       3、在重试期间这个方法是同步的,如果使用类似Spring Cloud这种框架的熔断机制时,可以结合重试机制来重试后返回结果。

        4、Spring Retry不仅能注入方式去实现,还可以通过API的方式实现,类似熔断处理的机制就基于API方式实现会比较宽松

转载于:https://my.oschina.net/iioschina/blog/2989596

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值