Java 在Spring Retryable中的所有尝试之前退出

Java 在Spring Retryable中的所有尝试之前退出,java,spring-boot,spring-retry,Java,Spring Boot,Spring Retry,我在SpringBoot中写了一个可检索的。它将重试5次,回退时间为5秒。如果满足某些条件,我还希望在5次迭代之前退出。就像 @Retryable(value = {SomeException.class}, maxAttempts = 5, backoff = @Backoff(delay = 5000)) public void checkForProcessed() throws SomeException { if(someCondition)

我在SpringBoot中写了一个可检索的。它将重试5次,回退时间为5秒。如果满足某些条件,我还希望在5次迭代之前退出。就像

    @Retryable(value = {SomeException.class}, maxAttempts = 5, backoff = @Backoff(delay = 5000))
    public void checkForProcessed() throws SomeException {
             if(someCondition) {
    //come out of the retryable before retrying for 5 times.

                }
    }

因此,假设在第三次迭代中满足了条件,它不应该再重试2次,应该在第三次迭代中退出自身

抛出其他异常(不可重试)。

抛出其他异常(不可重试)。

这里的问题是什么。它就是这样工作的。它试了5次。如果它没有得到异常,它将成功退出。@PythonLearner我希望它在某些条件下退出。如果满足某些条件,它应该在尝试进一步迭代之前退出。我将研究实现您自己的
RetryListenerSupport
组件-看起来可能存在实现此类逻辑的可能性,但是我从未做过类似的事,因此无法建议这里的问题是什么。它就是这样工作的。它试了5次。如果它没有得到异常,它将成功退出。@PythonLearner我希望它在某些条件下退出。如果满足某些条件,它应该在尝试进一步迭代之前退出。我将研究实现您自己的
RetryListenerSupport
组件-看起来可能存在实现此类逻辑的可能性,但是我从未做过类似的事,因此无法提供建议