Web服务出现故障时如何重试?

时间:2019-07-17 12:47:19

标签: java spring-boot spring-retry

当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()方法。

1 个答案:

答案 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