禁用spring启动执行器端点java配置

禁用spring启动执行器端点java配置,java,spring,spring-mvc,spring-boot,Java,Spring,Spring Mvc,Spring Boot,我想禁用除运行状况端点之外的所有执行器端点。所有文档都在资源属性中描述了如何实现这一点: endpoints.enabled=false endpoints.health.enabled=true 但我一直更喜欢使用内联java配置。有人能解释一下我在应用程序中的什么地方可以配置相同的吗?查看org.springframework.boot.actuate.autoconfigure.EndpointAutoConfiguration,当缺少bean时会提供端点。一种选择是在您自己的配置类中提

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

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

但我一直更喜欢使用内联java配置。有人能解释一下我在应用程序中的什么地方可以配置相同的吗?

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

@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;
    }
}
@配置
公共类促动器配置{
@自动连线(必需=错误)
私人收藏;
@豆子
公共度量终点度量终点(){
List publicMetrics=new ArrayList();
如果(this.publicMetrics!=null){
publicMetrics.addAll(this.publicMetrics);
}
排序(publicMetrics、AnnotationAwareOrderComparator.INSTANCE);
MetricsEndpoint MetricsEndpoint=新的MetricsEndpoint(publicMetrics);
metricsEndpoint.setEnabled(false);
返回度量终点;
}
}

您能给出一个禁用端点的示例bean吗?编辑我的答案,给出一个如何禁用metricsendpoind的示例。在EndpointAutoConfiguration端点中,您可以找到可以通过.setEnabled(false)禁用的所有其他端点