这InfoContributor
将 Java 相关的详细信息添加到执行器的信息端点,作为增强可观察性工作的一部分:https://github.com/spring-projects/spring-boot/issues/25476
配置后,它看起来像这样:
"java": {
"vendor": "Eclipse Adoptium",
"version": "17",
"runtime": {
"name": "OpenJDK Runtime Environment",
"version": "17+35"
},
"vm": {
"name": "OpenJDK 64-Bit Server VM",
"vendor": "Eclipse Adoptium",
"version": "17+35"
}
}
如果您好奇这在其他 OpenJDK 发行版上或使用本机映像会是什么样子,我测试了 30 多个最流行的 OpenJDK 映像(最新和当前的 LTS),您可以在这个公共要点中看到结果:java-info.md
。您可以看到上面的值有什么不同(例如:不同的 java 和 vm 供应商或不同的 jre 和 vm 版本等)。如果您想运行自己的测试,请查看此存储库:https://github。 com/jonatan-ivanov/app-info
关于这些变化的一些注意事项:
- 默认情况下是
JavaInfoContributor
自动配置的 - 我还没有写文档,如果这些更改最初看起来没问题,我会添加它们
- 我使用真正的课程而不是
Map<String,Object>
在InfoContributor
- 我不确定序列化输出是否在任何地方进行了测试,我没有编写任何测试来涵盖这一点,但我很乐意这样做,我只需要一些关于将它们放在哪里的指导
- 故意不使用 JMX 是为了使实现更简单,并且本机映像在 JMX 方面仍然存在一些挑战