Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java @对于同样是@Scheduled的@Retryable方法,未发现带恢复注释的方法_Java_Spring Boot_Spring Retry - Fatal编程技术网

Java @对于同样是@Scheduled的@Retryable方法,未发现带恢复注释的方法

Java @对于同样是@Scheduled的@Retryable方法,未发现带恢复注释的方法,java,spring-boot,spring-retry,Java,Spring Boot,Spring Retry,我研究了这个问题的答案 但我不明白为什么恢复方法在我的案例中不运行 @Service public MyRetryingService { @Scheduled(fixedRate = 10 * 1000) @Retryable(backoff = @Backoff(delay = 100, maxDelay = 101), maxAttempts = 3) public void transferData() { throw new IllegalAr

我研究了这个问题的答案

但我不明白为什么恢复方法在我的案例中不运行

@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 Framework


这是一个最近修复的问题。

我正在使用spring boot 1.5.3,它似乎使用spring core 4.3.8.RELEASE。另外请注意,Retry方法正在执行它应该执行的重试操作,但在尝试3次后不会调用Recover方法。我将尝试更新到最新的spring boot,看看这是否会有所改进。谢谢。更新到spring boot 2.0.0.RELEASE的最新版本解决了我的问题,尽管问题中提到的修复版本已经足够了。谢谢。当前的1.5.x版本1.5.10使用SF4.3.14,其中包括修复。但无论如何,迁移到2.0是一个好的举动。