当前位置: 首页 > 知识库问答 >
问题:

在不使用注释的情况下将resilience4j与Spring-Boot2执行器集成?

乔伯寅
2023-03-14

我的基于spring Boot2.1的webflux应用程序(来自project reactor)使用了一个库(L),该库公开了一个单字封装在Resilience4j 1.1.0中的CircuitBreakerOperator中(它没有使用诸如@CircuitBreaker之类的注释)。

我很想在Spring actuator http管理控制台(例如在health endpoint)中展示这个断路器的指标。我已经添加了io.github.resilience4j:resilience4j-spring-boot2:1.0.0依赖项,但是当我加载健康页面时,我只看到以下内容:

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

即。好像没有检测到L库的断路器。所以我的问题是,当Spring执行器没有使用注释时,我如何让它们知道弹性4J的断路器(最好还有速率限制器等)?

共有1个答案

子车鸿运
2023-03-14

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

 类似资料:
  • 是否可以通过注释在Spring Cloud Circuit Breaker上使用Resilience4j?我找不到任何关于它的留档,只有关于通过代码使用弹性4j的示例

  • 我想将Spring Boot执行器度量添加到我现有的Spring MVC5应用程序中(我不能转换为Spring Boot)。关于SO(不带Spring引导的Spring引导执行器)有几个回答的问题,但它们是针对使用Spring引导执行器1.x的。Spring引导执行器2.x已重新设计,因此这些指令不再有效。有没有人将Spring Boot Acture2.x与标准Spring MVC5应用程序集成

  • 问题内容: 在Java 块中,无论try / catch中发生了什么,通常都认为其中的代码可以“保证”运行。但是,我知道至少有两种情况 不会 执行: 如果被调用;要么, 如果异常一直抛出到JVM,并且发生默认行为(即退出) 是否有其他程序行为会阻止块中的代码执行?代码将在什么特定条件下执行或不执行? 编辑: 正如NullUserException所指出,第二种情况实际上是不正确的。我以为是因为标准

  • 我有一个简单的Quarkus资源: 我试图将实例注入到我的资源中,但是我得到了一个。但是,如果我在上使用注释,那么一切都很好。是否有一种方法可以在不使用注释的情况下将类注入到我的资源中?换句话说,是否有一种方法可以使Quakus容器可以发现而不直接注释该类? 编辑:查看CDI文档,似乎可以使用带有注释的方法手动注册bean。但是,我不清楚哪个类应该包含带注释的方法) 另一个选择是使用Jandex索

  • 我一直在尝试在一个非springboot应用程序中收集测微计指标,并将它们暴露给普罗米修斯。我添加了以下依赖项和测试方法。我想知道如何继续并从我的非spring启动应用程序(传统的spring应用程序)向prometheus公开收集的度量。

  • 我正在使用Spring Boot安全性和Oauth2。我不想禁用健康endpoint的安全性。 我可以完全禁用安全性,或者编写自己的实现并禁用autoconfigured One。 但是如何修改()的现有实现? 我试图创建自己的配置而不禁用AutoConfigurated一个,但由于冲突,这是不可能的。 以下是错误消息: 此外,我试图显式地为我自己的安全配置设置更高的顺序,但看起来自动配置的一个覆