当Web服务失败时,我尝试重试。
我正在使用spring retry,但是使用spring retry我无法指定基于状态码的retry
这是我的代码
@retryable(value=Exception.class,maxAttampts=2)
Public void retry() throws exception {
System.out.println("retry started")
throw new exception}
我在我的Web服务类中调用了retry()方法。
答案 0 :(得分:0)
Spring重试具有以下结构。
@Retryable(
value = {IllegalArgumentException.class},
maxAttempts = 5,
backoff = @Backoff(1000)
)
在有特定异常时它将起作用。它不适用于自定义值。在您的情况下,如果未从服务中检索到状态代码(例如200或201),则可以引发异常或自定义异常,可以对其执行重试操作。它仅适用于我要表示例外的特殊情况。任何值都可以转换为例外以执行重试操作。
您可以参考以下链接。 https://github.com/debjava/spring-retry/blob/master/src/main/java/com/ddlab/rnd/MyServiceImpl.java