Resilience4J CircuitBreaker 中的属性 .registerHealthIndicator(true) 不可用

问题描述 投票:0回答:1

我正在尝试在我的 Kotlin Springboot 应用程序中配置 Resilience4J CircuitBreaker。这是一个 Springboot2 应用程序。 我当前的 Resilience4J 版本是 1.7.0。但是当我尝试设置

.registerHealthIndicator(true)
时,它在当前版本中不可用。我升级到2.2.0,但仍然有错误。我想在
actuator/health
中查看 CircuitBreaker 的状态。如果没有此设置,如何查看 CircuiteBreaker 状态?

此外,我有点困惑

spring-cloud-starter-circuitbreaker-resilience4j
jar 与
resilience4j-spring-boot3
jar 之间的区别。

 @Bean
fun circuitBreaker(): CircuitBreaker {
    val config = CircuitBreakerConfig.custom()
        .registerHealthIndicator(true) // Error - Unresolved reference: registerHealthIndicator
        .recordExceptions(SocketTimeoutException::class.java) 
        .slidingWindowSize(5) 
        .minimumNumberOfCalls(3)
        .permittedNumberOfCallsInHalfOpenState(3)
        .automaticTransitionFromOpenToHalfOpenEnabled(true)
        .waitDurationInOpenState(Duration.ofSeconds(50))
        .failureRateThreshold(50f)
        .build()
    return CircuitBreaker.of("myCircuitBreaker2", config)
}

我在 application.yml 中添加了以下配置。

resilience4j.circuitbreaker:
  configs:
    default:
      registerHealthIndicator: true

/health
仍然显示为
{"status":"UP","components":{"circuitBreakers":{"status":"UNKNOWN"}, ..."

spring-boot circuit-breaker resilience4j spring-cloud-circuitbreaker
1个回答
0
投票

您好,我也遇到了同样的问题,请问您找到解决办法了吗?

© www.soinside.com 2019 - 2024. All rights reserved.