簡體   English   中英

Resilience4j 不忽略異常

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM