我们有 Spring Boot 应用程序(应用程序 1,它在 Spring Boot 1.5 和 Java 1.8 上运行,我们正在尝试使用依赖项 Spring Boot Admin Client 2.0)。现在我们有了另一个应用程序(应用程序 2,在 Spring Boot 2.0、Java 1.8 和 Spring Boot Admin Server 2.0 上。)我们需要在它们之间建立通信。我们尝试调整一些东西,但客户端无法向服务器注册。(应用程序 1 无法在应用程序 2 中注册)。任何帮助,将不胜感激 。我们无法将 Spring 客户端(应用程序 1)升级到 Spring Boot 2.0,但想使用新的 Spring Boot 管理服务器来显示统计信息。
2 回答
Spring Admin Server 2.x 与 Spring boot 2.x 应用程序兼容,但不与 spring boot 1.x 应用程序兼容。主要原因是从 Spring boot 1.x 和 2.x 开始,执行器模块发生了显着变化,从安全问题到这些端点如何暴露在路径中。我的建议是为 Spring Boot 1.x 应用程序使用 Spring Boot Admin Server 1.x,因为。
更新
但是,可能会强制将 spring boot admin 2 与传统 Spring boot 1.5 一起使用,如何在官方 spring boot admin 文档的Monitoring Spring Boot 1.5.x部分中描述
https://codecentric.github.io/spring-boot-admin/current/#monitoring-spring-boot-1.5.x
- 监控 Spring Boot 1.5.x 可以使用 Spring Boot Admin 2.x 监控 Spring Boot 1.5.x 应用程序。旧的 Spring Boot Admin Client 能够在较新的服务器上注册。由于 API 有细微的变化,您需要在旧客户端上设置以下属性:
重新配置 Spring Boot Admin Client 1.5.x 的 api 路径:
application.yml spring.boot.admin.api-path: instances 由于一些执行器端点随着 Spring Boot 2 版本的变化而变化,并非所有选项都可用(例如 /metrics 端点);对于某些端点,我们提供旧版转换器。