[英]resilience4j bulkhead skipping fallback method for certain type of exceptions
[英]Resilience4j Not Ignoring Exceptions
JobServiceImpl.java:
@CircuitBreaker(name = "jobsApiServiceGetAllJobs", fallbackMethod = "getAllJobsFallback")
public ResponseEntity<JobsResponse> getAllJobs() {
...
throw new ApiException();
}
public ResponseEntity<JobsResponse> getAllJobsFallback(Throwable throwable) {
log.error("Fallback method called");
}
應用程序屬性:
resilience4j.circuitbreaker.instances.jobsApiServiceGetAllJobs.ignoreExceptions=ccp.shared.platform.exception.ApiException,ccp.shared.platform.exception.BadRequestApiException
每當拋出ccp.shared.platform.exception.ApiException
時,即使我已將其添加到application.properties
文件的ignoreExceptions
列表中,也會調用回退方法。 我希望它在拋出ApiException
時不觸發回退方法。 我已經嘗試過有關堆棧溢出的類似問題,但這些問題對我不起作用。 我做錯什么了嗎?
似乎該屬性是在文檔中定義的,但實際上,它不起作用。 有一個拉取請求 -> CircuitBreakerConfigurationProperties has no ignoreException property 。
您可以同時使用常見的 Spring+java 配置來實現:
@Bean
CircuitBreaker reportingApiCircuitBreaker(CircuitBreakerRegistry registry) {
CircuitBreakerConfig config = CircuitBreakerConfig.custom()
.ignoreExceptions(ApiException.class, BadRequestApiException.class)
.build();
return registry.circuitBreaker("yourCircuitBreakername", config);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.