首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >弹簧引导执行器健康端点+动态resilience4j断路器

弹簧引导执行器健康端点+动态resilience4j断路器
EN

Stack Overflow用户
提问于 2020-03-04 14:33:57
回答 1查看 4.9K关注 0票数 4

我有一个spring引导应用程序,它使用基于resilience4j AOP的@CircuitBreaker

现在,我想在/actuator/health端点中提供断路器的信息,但我在JSON输出中没有看到details.circuitBtreakers对象在文档中描述

我做错了什么?

相比之下,要在/actuator/metrics端点中显示动态缓存信息需要少量的自定义连接,但这是有据可查。我想知道是否有类似的技巧,我可以申请动态定义的@CircuitBreaker/actuator/health端点中注册。

MyService.java**:**

代码语言:javascript
复制
@Service
public class MyService {
    @Autowired
    private CacheManager cacheManager;
    @Autowired
    private CacheMetricsRegistrar cacheMetricsRegistrar;

    @PostConstruct
    public void postConstruct() {
        // On-the-fly defined (annotation-based) caches are not auto-registered with micrometer metrics.
        final Cache cache = cacheManager.getCache("myCache");
        cacheMetricsRegistrar.bindCacheToRegistry(cache);
    }

    @CircuitBreaker(name = "myCB", fallbackMethod = "fallbackCallAnApi")
    public String callAnApi() throws RestClientException {
        // ...
    }

    @Cacheable("myCache")
    public String getSomethingCacheable() {
        // ...
    }
}

application.properties**:**

代码语言:javascript
复制
resilience4j.circuitbreaker.configs.default.registerHealthIndicator=true
management.endpoints.web.expose=health,metrics
management.endpoints.web.exposure.include=health,metrics
management.endpoint.health.enabled=true
management.endpoint.metrics.enabled=true
management.metrics.enable.resilience4j.circuitbreaker.calls=true
management.health.circuitbreakers.enabled=true
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-03-05 06:33:43

动态地为CircuitBreakers端点注册HealthIndicator当前无法工作。不幸的是,您必须配置它们:

代码语言:javascript
复制
resilience4j.circuitbreaker:
    configs:
        default:
            registerHealthIndicator: true
    instances:
        myCB:
            baseConfig: default

你可以说是个窃听器。

https://github.com/resilience4j/resilience4j/blob/master/resilience4j-spring-boot2/src/main/java/io/github/resilience4j/circuitbreaker/monitoring/health/CircuitBreakersHealthIndicator.java#L99-L102

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60528426

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档