无法在单个应用程序中将 Spring Boot Admin Server 2 和 Spring Boot Admin Client 2 与 Spring Boot 2 集成

Can't integrate Spring Boot Admin Server 2 and Spring Boot Admin Client 2 with Spring Boot 2 in a single application

我正在将应用程序从 Spring Boot 迁移到 Spring Boot 2。以前我们必须在单个应用程序(即应用程序)中使用 Spring Boot Admin Server 和 Client既是服务器又是客户端)。这很奇怪,但至少现在我们必须继续以同样的方式使用它。

起初我决定使用演示项目让它工作: https://github.com/dmitrysenkovich/spring_boot_admin_2_not_working

但是,我收到一个错误:

ApplicationRegistrator: Failed to register application as Application(name=spring-boot-admin-sample-servlet, managementUrl=http://localhost:8080/actuator, healthUrl=http://localhost:8080/actuator/health, serviceUrl=http://localhost:8080/actuator/admin) at spring-boot-admin ([http://localhost:8080/instances]): 404 null. Further attempts are logged on DEBUG level

Spring 引导版本为 2.0。4.RELEASE 并且 Spring 引导管理 Client/Server 为 2.0.2。

希望能成功。提前致谢!

Johannes Edmeier(Spring Boot Admin 的创建者)在 GitHub 上回答了我: https://github.com/codecentric/spring-boot-admin/issues/889.

If you set the spring.boot.admin.context-path, you also have to include this suffix in the spring.boot.admin.client.url

有效!

你可以设置application.yml到这个

spring:
  boot:
    admin:
      client:
        url: http://127.0.0.1:8080/admin
        instance:
          service-url: http://127.0.0.1:8080
      context-path: /admin

这个在我的springboot2.6.2应用中成功