gpt4 book ai didi

java - 不带 Spring Boot 的执行器 2.X

转载 作者:行者123 更新时间:2023-12-01 06:01:54 25 4
gpt4 key购买 nike

按照一些链接,我尝试在没有 Spring Boot 的情况下设置执行器 2.X,但没有帮助。

尝试过 /health/application/health/actuator/health 但没有成功。我之前使用过 Actuator 1.X,只需将 EndpointWebMvcManagementContextConfigurationEndpointAutoConfigurationPublicMetricsAutoConfigurationHealthIndicatorAutoConfiguration 添加到我的 xml 上下文中和pom依赖,运行顺利。

现在我的要求是动态添加/删除运行状况指示器,因此需要转向 Actuator 2.X。

最佳答案

我最近一直在摆弄将 Spring Actuator 2.x 包含到现有的 Spring MVC 项目中。这是一个有效的配置

@Configuration
@Import({
EndpointAutoConfiguration.class,
HealthIndicatorAutoConfiguration.class,

InfoEndpointAutoConfiguration.class,
HealthEndpointAutoConfiguration.class,

WebEndpointAutoConfiguration.class,
ServletManagementContextAutoConfiguration.class,
ManagementContextAutoConfiguration.class,
})
@EnableConfigurationProperties(CorsEndpointProperties.class)
class ActuatorConfiguration {

@Bean //taken from WebMvcEndpointManagementContextConfiguration.class
public WebMvcEndpointHandlerMapping webEndpointServletHandlerMapping(WebEndpointsSupplier webEndpointsSupplier,
ServletEndpointsSupplier servletEndpointsSupplier, ControllerEndpointsSupplier controllerEndpointsSupplier,
EndpointMediaTypes endpointMediaTypes, CorsEndpointProperties corsProperties,
WebEndpointProperties webEndpointProperties) {
List<ExposableEndpoint<?>> allEndpoints = new ArrayList<>();
Collection<ExposableWebEndpoint> webEndpoints = webEndpointsSupplier.getEndpoints();
allEndpoints.addAll(webEndpoints);
allEndpoints.addAll(servletEndpointsSupplier.getEndpoints());
allEndpoints.addAll(controllerEndpointsSupplier.getEndpoints());
EndpointMapping endpointMapping = new EndpointMapping(webEndpointProperties.getBasePath());
return new WebMvcEndpointHandlerMapping(endpointMapping, webEndpoints, endpointMediaTypes,
corsProperties.toCorsConfiguration(),
new EndpointLinksResolver(allEndpoints, webEndpointProperties.getBasePath()));
}

@Bean
DispatcherServletPath dispatcherServletPath() {
return () -> "/";
}

}

我确实包括了

    <dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-actuator-autoconfigure</artifactId>
<version>2.1.18.RELEASE</version>
</dependency>

与我一直使用的基线 Spring 版本 (5.1.19.RELEASE) 兼容

执行器端点通过 /actuator/* 公开

关于java - 不带 Spring Boot 的执行器 2.X,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55826146/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com