4
我想禁用除健康端点以外的所有执行器端点。所有文档描述了如何在资源属性实现这一点:禁用弹簧启动执行器端点java config
endpoints.enabled=false
endpoints.health.enabled=true
,但我一直喜欢使用内联Java配置。有人可以解释我可以在应用程序中配置相同的位置吗?
我想禁用除健康端点以外的所有执行器端点。所有文档描述了如何在资源属性实现这一点:禁用弹簧启动执行器端点java config
endpoints.enabled=false
endpoints.health.enabled=true
,但我一直喜欢使用内联Java配置。有人可以解释我可以在应用程序中配置相同的位置吗?
看着org.springframework.boot.actuate.autoconfigure.EndpointAutoConfiguration,当bean缺失时提供端点。一种选择是在你自己的配置类中提供它们。所有终端都启用。您可以提供所有这些设置,设置启用虚假,除了您需要的。
@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吗? – MarcF
编辑我的答案举例说明如何禁用metricsendpoind。在** EndpointAutoConfiguration **端点中,您可以通过* .setEnabled(false)*找到可以禁用的所有其他端口。 – Qkyrie