我有一个小的Spring Boot应用程序,可以创建一个RabbitListener,并对消息进行处理(到目前为止所有成功)。 我希望在我定义的管理端点中看到服务的默认指标(f.e. 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>
默认&#34; / metrics&#34;端点不再暴露。我在spring-boot spring-boot-configuration-processor,spring-boot-starter-web,spring-boot-starter-actuator和spring-rabbit依赖项上使用的是2.0.2.RELEASE版本。 我可以通过添加/删除依赖项在启动器Spring启动应用程序中重现此行为。
我已经包含了所有要公开的端点,并且只在我的application.yml中拒绝了一些端点。在那里,我还将management.server.port设置为8082,将management.server.servlet.context-path设置为&#34; / demo&#34;。 如果我在没有依赖项的情况下运行应用程序(在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
答案 0 :(得分:0)
在pom中,尝试将amqp依赖项移动到执行器依赖项下方,以便maven在amqp依赖项之前解析执行器依赖性。它将解决问题。