弹簧启动执行器端点覆盖

时间:2017-03-15 07:02:46

标签: java spring spring-boot dependency-injection spring-boot-actuator

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

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

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

提前感谢您的回答

2 个答案:

答案 0 :(得分:3)

您可以使用以下属性禁用/info执行器端点;

management.endpoint.info.enabled=false

实际上,如果您查看我在下面提供的源链接,则可以禁用所有内容,或者只启用某些内容;

  

默认情况下,启用除关闭之外的所有端点。如果您希望专门“选择加入”端点启用,则可以使用endpoints.enabled属性。

source

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

答案 1 :(得分:1)

是的,有可能通过@EnableAutoconfiguration使用参数exclude=禁用特定类,您可以使用{}括号指定类名或整个包

示例:

  • @EnableAutoConfiguration(exclude = {MyClassName.class}

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