Spring 引导执行器未显示任何信息

Spring Boot Actuator not showing any information

我正在使用 Spring 引导版本 2.2.5.RELEASE 并且无法从执行器端点接收任何信息。我收到的只是 Actuator 的空结构,如下所示:

这是我的配置:

implementation "org.springframework.boot:spring-boot-starter-actuator"
@Bean
public HttpTraceRepository httpTraceRepository() {
   return new InMemoryHttpTraceRepository();
}
management:
  endpoints:
    web:
      exposure:
        include: "*"

我想念什么?

哈利路亚,终于找到我上面描述的问题了!

问题是我将 spring 启动应用程序配置为使用 Gson 而不是默认的 Jackson json 解析器。不完全清楚原因,但使用以下代码行会导致在执行器端点显示数据时出现问题。

implementation ("org.springframework.boot:spring-boot-starter-web") {
    exclude group: "org.springframework.boot", module: "spring-boot-starter-json"
}
implementation "com.google.code.gson:gson:2.8.6"

下面上面描述的Bean也是不需要的!

@Bean
public HttpTraceRepository httpTraceRepository() {
   return new InMemoryHttpTraceRepository();
}

因此以下配置也是一个问题:

spring:
  http:
    converters:
      preferred-json-mapper: gson
  gson:
    exclude-fields-without-expose-annotation: true

最后删除了我所有的 @Expose 注释,它又开始正常工作了。

@Expose
private String content;

如果有人能向我解释为什么会这样,或者如何配置 Gson 以与 Spring Boot Actuator[=31= 一起正常工作] 结合起来,我是来听听理解的

我遇到了同样的问题,我通过删除以下行解决了问题

gsonBuilder.excludeFieldsWithoutExposeAnnotation()