包含/排除骆驼弹性中的异常4J

时间:2020-09-25 12:35:12

标签: spring-boot apache-camel spring-camel circuit-breaker resilience4j

在骆驼路线(spring-boot应用程序)中使用resilience4J库实现断路器模式时,如何在分析中包括/排除异常。

我们正在使用以下官方库,但是它没有公开任何API来排除普通Java库之类的例外。

    <dependency>
        <groupId>org.apache.camel.springboot</groupId>
        <artifactId>camel-resilience4j-starter</artifactId>
        <version>${camel.version}</version>
    </dependency>

,但是官方文档说有API可以处理以下情况: https://resilience4j.readme.io/docs/circuitbreaker

// Create a custom configuration for a CircuitBreaker
CircuitBreakerConfig circuitBreakerConfig = CircuitBreakerConfig.custom()
  .failureRateThreshold(50)
  .slowCallRateThreshold(50)
  .waitDurationInOpenState(Duration.ofMillis(1000))
  .slowCallDurationThreshold(Duration.ofSeconds(2))
  .permittedNumberOfCallsInHalfOpenState(3)
  .minimumNumberOfCalls(10)
  .slidingWindowType(SlidingWindowType.TIME_BASED)
  .slidingWindowSize(5)
  .recordException(e -> INTERNAL_SERVER_ERROR
                 .equals(getResponse().getStatus()))
  .recordExceptions(IOException.class, TimeoutException.class)
  .ignoreExceptions(BusinessException.class, OtherBusinessException.class)
  .build();

0 个答案:

没有答案