Spring-Retry

2023-05-11  本文已影响0人  安然在路上

参考:
SpringRetry踩坑记录
Spring-Retry机制@Recover及@Retryable可能未生效原因

原理:通过动态代理,拦截注解@Retryable,套上try catch的模板代码 (盲猜的)

使用:

  1. 引入jar包 org.springframework.retry:spring-retry:1.3.1

  2. 启动类或者调用类上加上注解 @EnableRetry
    proxyTargetClass:Boolean类型,用于指明代理方式【true:cglib代理,false:jdk动态代理】默认使用jdk动态代理

  3. 需要重试的方法上加上注解 @Retryable
    示例:
    @Retryable(value = Exception.class,maxAttempts = 3,backoff = @Backoff(delay = 2000,multiplier = 1.5))
    参数解释:

坑:

  1. @EnableRetry 和 @Retryable 不能写在同一个类里,否则重试机制不生效
  2. @Retryable修饰的方法要是 public 的

另外:

上一篇 下一篇

猜你喜欢

热点阅读