Resilience4j 如何路由到回退方法然后 return 在特定时间后返回原始方法
Resilience4j How to route to fallback method then return back to original method after specific amount of time
我正在使用 resilience4j 和 spring boot,
我需要完成以下场景,
- 当我在 originalMethod
中失败时
- 5 次尝试后路由到 回退 方法
- 在特定时间(例如 5 分钟)后 return 回到 originalMethod
我尝试了 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 和其他所需的配置属性。
我正在使用 resilience4j 和 spring boot,
我需要完成以下场景,
- 当我在 originalMethod 中失败时
- 5 次尝试后路由到 回退 方法
- 在特定时间(例如 5 分钟)后 return 回到 originalMethod
我尝试了 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 和其他所需的配置属性。