【问题标题】:Disable spring boot actuator endpoints java config禁用 Spring Boot 执行器端点 java config
【发布时间】:2015-09-28 23:15:49
【问题描述】:

我想禁用除健康端点之外的所有执行器端点。所有文档都描述了如何在资源属性中实现这一点:

endpoints.enabled=false
endpoints.health.enabled=true

但我一直更喜欢使用内联 java 配置。有人可以解释一下我可以在应用程序的哪个位置进行配置吗?

【问题讨论】:

    标签: java spring spring-mvc spring-boot


    【解决方案1】:

    查看org.springframework.boot.actuate.autoconfigure.EndpointAutoConfiguration,在缺少bean 时提供端点。一种选择是在您自己的配置类中提供它们。所有端点都有字段启用。您可以提供所有这些,在 false 上启用设置,您需要的除外。

    @Configuration
    public class ActuatorConfiguration {
    
        @Autowired(required = false)
        private Collection<PublicMetrics> publicMetrics;
    
        @Bean
        public MetricsEndpoint metricsEndpoint() {
            List<PublicMetrics> publicMetrics = new ArrayList<>();
            if (this.publicMetrics != null) {
                publicMetrics.addAll(this.publicMetrics);
            }
            Collections.sort(publicMetrics,AnnotationAwareOrderComparator.INSTANCE);
            MetricsEndpoint metricsEndpoint = new MetricsEndpoint(publicMetrics);
            metricsEndpoint.setEnabled(false);
            return metricsEndpoint;
        }
    }
    

    【讨论】:

    • 你能给出一个禁用端点的示例 bean 的例子吗?
    • 编辑了我的答案,以举例说明如何禁用 metricsendpoint。在 EndpointAutoConfiguration 端点中,您可以找到可以通过 .setEnabled(false) 禁用的所有其他端点
    猜你喜欢
    • 1970-01-01
    • 2020-01-10
    • 2018-12-06
    • 1970-01-01
    • 2016-08-26
    • 2017-02-07
    • 1970-01-01
    • 2021-09-02
    • 1970-01-01
    相关资源
    最近更新 更多