Spring 引导执行器端点覆盖
Spring Boot Actuator Endpoint Override
我一直在使用 Spring 启动进行原型设计,我在其中添加了对 spring-boot-starter-actuator
和 spring-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.
为了记录此行为,在部署时您可以看到端点和相应的 bean,我猜您可以从此日志中推断出来。但最好不要在执行器启用时使用相同的端点。
是的,有机会通过 @EnableAutoconfiguration
使用参数 exclude=
禁用特定 类,您可以在其中使用 {} 括号
指定类名或整个包]
示例:
@EnableAutoConfiguration(exclude = {MyClassName.class}
@EnableAutoConfiguration(exclude = {MyClassName.class, MyClassName2.class})
我一直在使用 Spring 启动进行原型设计,我在其中添加了对 spring-boot-starter-actuator
和 spring-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.
为了记录此行为,在部署时您可以看到端点和相应的 bean,我猜您可以从此日志中推断出来。但最好不要在执行器启用时使用相同的端点。
是的,有机会通过 @EnableAutoconfiguration
使用参数 exclude=
禁用特定 类,您可以在其中使用 {} 括号
示例:
@EnableAutoConfiguration(exclude = {MyClassName.class}
@EnableAutoConfiguration(exclude = {MyClassName.class, MyClassName2.class})