废话不多说,直接上干货
一、maven
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.retry</groupId>
<artifactId>spring-retry</artifactId>
</dependency>
二、接口的方法
如果需要retry的方法为接口的方法,那需要加入如下配置
aop:
proxy-target-class: true
不然会报错 Can not set to com.sun.proxy.$Proxy
三、启用
@EnableRetry注释加到启动类上
@Retryable加到需要重试的方法上
四、回调
重试超过最大次数后进行回调,在回调方法上使用@Recover,需要注意的地方如下
1、回调方法和@Retryable方法必须在同一个类中
2、回调方法中的第一个参数必须为重试的异常,返回的类型必须和重试方法一致