Resilience4j 如何路由到回退方法然后 return 在特定时间后返回原始方法

Resilience4j How to route to fallback method then return back to original method after specific amount of time

我正在使用 resilience4j 和 spring boot,

我需要完成以下场景,

我尝试了 retry 如下但不符合问题,

     @Retry(name = "retryService", fallbackMethod = "fallback")
    public String originalMethod(String data) throws InterruptedException {
        //..... call external service 
    }

public String fallback(String data, Throwable t) {
        logger.error("Inside retryfallback, cause – {}", t.toString());
        return "Inside retryfallback method. Some error occurred ";
    }

添加的属性

resilience4j.retry:
  instances:
    retryService:
      maxRetryAttempts: 5
      waitDuration: 50000

我认为您可以在达到故障限制的某个时候使用断路器来实现您想要的行为。

通过添加@CircuitBreaker(...) 注释并为该实例指定 failureRateThreshold、waitDurationInOpenState 和其他所需的配置属性。