对于同样是@Scheduled 的@Retryable 方法,未发现@Recover 注释方法
@Recover annotated method is not discovered for a @Retryable method that also is @Scheduled
我研究了这个问题的答案
但我不明白为什么 recover 方法在我的例子中没有 运行。
@Service public MyRetryingService {
@Scheduled(fixedRate = 10 * 1000)
@Retryable(backoff = @Backoff(delay = 100, maxDelay = 101), maxAttempts = 3)
public void transferData() {
throw new IllegalArgumentException();
}
@Recover
public void recover(IllegalArgumentException exception) {
System.out.println("Recovering from a service down");
}
}
我得到这个异常
org.springframework.retry.ExhaustedRetryException: Cannot locate recovery method; nested exception is java.lang.IllegalArgumentException
我在这里错过了什么?
您使用的 Spring 框架是什么版本?
这是一个最近已修复的问题 SPR-16196。
我研究了这个问题的答案
但我不明白为什么 recover 方法在我的例子中没有 运行。
@Service public MyRetryingService {
@Scheduled(fixedRate = 10 * 1000)
@Retryable(backoff = @Backoff(delay = 100, maxDelay = 101), maxAttempts = 3)
public void transferData() {
throw new IllegalArgumentException();
}
@Recover
public void recover(IllegalArgumentException exception) {
System.out.println("Recovering from a service down");
}
}
我得到这个异常
org.springframework.retry.ExhaustedRetryException: Cannot locate recovery method; nested exception is java.lang.IllegalArgumentException
我在这里错过了什么?
您使用的 Spring 框架是什么版本?
这是一个最近已修复的问题 SPR-16196。