Java 在Spring Retryable中的所有尝试之前退出
我在SpringBoot中写了一个可检索的。它将重试5次,回退时间为5秒。如果满足某些条件,我还希望在5次迭代之前退出。就像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)
@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
组件-看起来可能存在实现此类逻辑的可能性,但是我从未做过类似的事,因此无法提供建议