0

我的基于 spring boot 2.1 的 webflux 应用程序(来自project reactor)正在使用一个库(L),它暴露了一个来自 Resilience4j 1.0.0的Mono包装(它使用诸如 的注释)。CircuitBreakerOperator@CircuitBreaker

我真的很想在 Spring 执行器 http 管理控制台中显示此断路器的指标(例如在健康端点中)。我添加了io.github.resilience4j:resilience4j-spring-boot2:1.0.0依赖项,但是当我加载健康页面时,我只看到:

{
    "status": "UP",
    "refreshScope": {
            "status": "UP"
        },
        "rateLimiters": {
            "status": "UNKNOWN"
        },
        "circuitBreakers": {
            "status": "UNKNOWN"
        }
    }
}

即,似乎没有检测到库 L 中的断路器。所以我的问题是,当 Spring Actuator没有使用注释应用它们时,如何让 Spring Actuator 了解 Resilience4j 的断路器(最好还有速率限制器等) ?

4

1 回答 1

0

问题是库实例化了CircuitBreakerRegistry. 这需要改变,因为它resilience4j-spring-boot2会自动创建一个CircuitBreakerRegistry用于公开指标的托管。当将此注册表注入库时,一切都开始工作了。

于 2019-10-01T07:59:38.260 回答