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

SpringBoot 2.2.4执行器-自定义管理endpoint的路径

卫鸿朗
2023-03-14

从spring-boot v1.3迁移到最新的spring-boot v2.2.4后,我们失去了在管理端口下拥有自定义endpoint的能力。

在我们将自定义endpoint声明为:

@Component
public class CacheEndpoint implements MvcEndpoint {
 ...
   @Override
  public String getPath() {
    return "/v1/cache";
  }
  ...
  // mappings goes here

由于已从Spring引导执行器中删除了MvcEndpoint,现在我们需要执行以下操作:

@Component
@RestControllerEndpoint(id = "cache")
public class CacheEndpoint {
    ...
    // mappings goes here

不幸的是,我们失去了一个为自定义管理endpoint提供自定义根路径的选项(在它出现之前)

对于背部兼容性,我们仍然希望有默认的执行器endpoint,例如健康、度量、env。。位于基本路径下。e、 g.主机:

我尝试了很多东西,在谷歌上搜索了更多,但还没有成功。有没有办法做到这一点?

共有1个答案

薛华容
2023-03-14

这是我在spring boot 2中使用的:

应用yml:


management:
  endpoints:
    enabled-by-default: true
    web:
      exposure:
        include: "*"
      base-path: "/management" # <-- note, here is the context path

总的来说,考虑阅读执行器从Spring引导1. x到2. x的迁移指南

 类似资料:
  • 我正在尝试为Spring启动应用程序编写自定义终结点。我编写了自定义终结点实现,如下所示。我没有包括额外的内容,如导入以减少代码的大小。 编写完以上代码后,我重新启动了应用程序并尝试从/test访问endpoint。但是,endpoint不可用。以下是Spring Boot start应用程序。 除此之外,我有一切运行Spring Boot致动器。我可以访问默认endpoint,如/info、/m

  • 我正在我的项目中使用模块,该模块公开了要监视的RESTendpointURL 默认情况下,仅公开 和 终结点。 根据我的使用案例,我正在通过< code > application . properties 文件自定义endpoint。 我想了解,Spring启动究竟在哪里为和创建实际的endpoint,以及它如何通过HTTP公开它们?

  • 春奴B:好的。我从一个STS Spring Starter项目/Maven/Java8/Spring Boot2.0开始,并选择Web和致动器依赖项。它构建和运行良好,并转发到http://localhost:8080/acturet/health。我在主应用程序类中添加了一个“endpoint”,使其看起来像这样。

  • 我目前正在尝试将我们的prometheus lib迁移到spring Boot2.0.3版本。我们使用普罗米修斯的自定义路径,到目前为止,我们使用一个工作来确保这一点。由于信息endpoint和健康endpoint可能有自定义路径,因此使用。我尝试指定,但它仍然只能在下访问。 如何使用自定义路径或普罗米修斯? 我们使用以下库启用prometheus(我们的build.gradle的片段) 我们还使

  • 我正在使用SpringBoot执行器返回应用程序的运行状况。 我看到了下面的回复 我想返回一个类似于下面的响应 有办法做到吗?

  • 我最近将一个项目从Spring Boot1.5.1升级到2.0.0,但是我们的自定义执行器endpoint没有注册。我尝试了以下endpoint迁移指南(docs.spring.io、github和spring.io),以使用新方法迁移我们的自定义endpoint,但它不起作用。 下面是我正在尝试注册的简化endpoint: 我甚至尝试从类中删除并将其注册为主类中的bean,如下所示: 当我构建项