不使用注释时将 resilience4j 与 spring-boot 2 执行器集成?

Integrating resilience4j with spring-boot 2 actuator when not using annotations?

我的 spring 基于 boot 2.1 的 webflux 应用程序(来自 project reactor)正在使用一个库(L),它公开了一个 Mono 包裹在来自 Resilience4j 1.0 的 CircuitBreakerOperator 中.0(它是 而不是 使用 @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 知道 resilience4j 的断路器(最好还有速率限制器等),当它们 not 使用注释应用时?

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