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

SpringBoot 2.0.2.带有amqp的发行版错过了metrics actuatorendpoint

颜畅
2023-03-14

我有一个小的Spring Boot应用程序,它创建了一个RabbitListener,并处理消息(到目前为止都成功了)。我希望在我定义的管理endpoint中看到服务的默认度量(如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>

默认的“/metrics”endpoint不再公开。我使用的是2.0.2版本。spring-boot spring-boot-configuration-processor、spring-boot-starter-web、spring-boot-starter-actuator和spring-rabbit依赖项上的版本。我可以通过添加/移除依赖项在starter Spring Boot应用程序中重现这种行为。

这是明知/通缉的行为吗?我必须/可以再次启用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

共有1个答案

柯昱
2023-03-14

在pom中,尝试将amqp依赖项移到actuator依赖项之下,以便maven在amqp依赖项之前解析actuator依赖项。它将解决这个问题。

 类似资料:
  • 我已经构建了spring boot REST API(2.3.2.release)、Angular(v10)应用程序,使用keycloak(jboss/keycloak:12.0.3)进行身份验证和授权。 spring boot应用程序使用KeycloakWebSecurityConfigurerAdapter进行配置,Angular前端使用“KeyCloak-Angular”:“^8.1.0”,

  • 我在我的消费者体内抛出一个AMQP异常。我的期望是,消息将以FIFO顺序返回队列,并在将来的某个时候重新处理。 Spring AMQP似乎没有将消息释放回队列。而是一次又一次地尝试重新处理失败的消息。这会阻止处理新到达的消息。卡在AMQP控制台内的设备将永远处于“未打包”状态。 有什么想法吗?

  • 我在RabbitMQ中创建了一个现有队列。它可以使用或不使用参数创建。我正在使用RabbitTemplate在Spring创建此队列的消费者。声明队列时,我不想指定x-dead-letter-exchange参数。我想让模板自己搞清楚,或者不在乎。我从消费者那里抛出AmqpRejectAndDontRequeueException来指示错误消息,但我希望队列的创建者负责决定是否为被拒绝的消息创建交

  • 问题内容: (长话短说,我只是一个愚蠢的假设,我确定一栏是一个日期时间,而且不是- 所以不要指望在这个问题中找到任何有趣的东西,把它留在这里以使dems正确地被他接受回答) 我写了一个简单的查询,像这样: 其中DateMadeActive是日期时间列。这返回了我期望的结果: 现在,我将其插入到新表中,但是将MIN(DateMadeActive)的结果插入另一个表的datetime列中时,出现了此错

  • 这里有几个关于Stackoverflow的问题,关于Kotlin编译器警告,当不同版本的Kotlin JAR在类路径中混合时。 这个问题是一个不同的问题,涉及到使用静态编程语言开发Gradle插件时的情况。当您至少有以下一项: 插件应用 plugin被应用 添加了依赖项 添加了依赖项 你有静态编程语言插件,如,例如: 你会出名的: 静态编程语言1.3.72是Gradle 6.7的嵌入式版本,静态编

  • 目前,我正在尝试在Kotlin编写基于Maven、Quarkus和SmallRye Reactive Messaging的“通知服务”。作为基础,我在Java中有一个很好的例子,我试图将其“翻译”成Kotlin。 我希望它的工作方式是,我发送一个HTTP请求(例如GET http://localhost:8080/search/{word}),系统将“单词”(这里是字符串)发送到Artemis A