带有 amqp 的 SpringBoot 2.0.2.RELEASE 错过了指标执行器端点



我有一个小型的Spring Boot应用程序,它创建了一个RabbitListener并对消息执行操作(到目前为止都成功了(。 我想在定义的管理终结点中查看服务的默认指标(例如 http://localhost:8082/demo/metrics/jvm.memory.max(,但只要我添加依赖项

<dependency>
<groupId>org.springframework.amqp</groupId>
<artifactId>spring-rabbit</artifactId>
<version>2.0.2.RELEASE</version>
</dependency>

默认的"/指标"终结点不再公开。我正在使用 2.0.2.RELEASE 版本在 spring-boot spring-boot-configuration-processor、spring-boot-starter-web、spring-boot-starter-actuator 和 spring-rabbit 依赖项上。 我可以通过添加/删除依赖项在启动 Spring 启动应用程序中重现此行为。

我已经包含了所有要公开的端点,并且只在我的应用程序.yml中拒绝了几个端点。在那里,我还将 management.server.port 设置为 8082,将 management.server.servlet.context-path 设置为 "/demo"。 如果我在没有依赖项的情况下运行应用程序(在 IntelliJ 中(,则会获得 9 个公开的终结点(包括指标(,但如果添加依赖项,则只会获得 8 个公开的终结点,并且指标不再可用。

这是一种知道/想要的行为吗?我是否必须/我可以再次启用simpleMeterRegistry?在调试日志中,我可以看到该条目

MetricsEndpointAutoConfiguration#metricsEndpoint matched:
- @ConditionalOnBean (types: io.micrometer.core.instrument.MeterRegistry; SearchStrategy: all) found bean 'simpleMeterRegistry'; @ConditionalOnMissingBean (types: org.springframework.boot.actuate.metrics.MetricsEndpoint; SearchStrategy: all) did not find any beans (OnBeanCondition)

添加 amqp 依赖项时丢失,但我没有找到再次添加它的方法。

感谢您提及它: 完整的状况评估报告可在此处找到:https://gist.github.com/dkrones/222c096770a79d9cb69d09c4e40c33b6

在 pom 中,尝试将 amqp 依赖项移动到执行器依赖项下方,以便 maven 在 amqp 依赖项之前解析执行器依赖项。它将解决问题。

最新更新