Spring 引导执行器端点覆盖

Spring Boot Actuator Endpoint Override

我一直在使用 Spring 启动进行原型设计,我在其中添加了对 spring-boot-starter-actuatorspring-boot-starter-data-rest 的依赖,并将我的测试 REST 端点命名为 /info。应用程序 运行 没有任何错误,但是无法调用我的端点并且应用程序一直返回 404。

一段时间后,我发现执行器项目包含相同的端点 /info 并且基本上覆盖了我的自定义 RESTful 端点,因为我没有命名它。

我的问题是:有什么办法可以防止这种行为(意思是错误的 bean 冲突)?或者至少在发生这种情况时收到 WARN 消息。

提前感谢您的回答

您可以使用以下 属性;

禁用 /info 执行器端点
management.endpoint.info.enabled=false

实际上所有都可以禁用,或者你可以只启用某些,如果你检查来源link 我在下面提供;

By default, all endpoints except for shutdown are enabled. If you prefer to specifically “opt-in” endpoint enablement you can use the endpoints.enabled property.

source

为了记录此行为,在部署时您可以看到端点和相应的 bean,我猜您可以从此日志中推断出来。但最好不要在执行器启用时使用相同的端点。

是的,有机会通过 @EnableAutoconfiguration 使用参数 exclude= 禁用特定 类,您可以在其中使用 {} 括号

指定类名或整个包]

示例:

  • @EnableAutoConfiguration(exclude = {MyClassName.class}

  • @EnableAutoConfiguration(exclude = {MyClassName.class, MyClassName2.class})