如何解决如何在非弹簧护套应用中集成弹簧执行器?
我有一个GWT应用程序,它不是Spring Boot应用程序,并且我设法将执行器v1.5.9和spring v4.3.3与此配置类集成在一起。
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.actuate.autoconfigure.EndpointAutoConfiguration;
import org.springframework.boot.actuate.autoconfigure.EndpointWebMvcManagementContextConfiguration;
import org.springframework.boot.actuate.autoconfigure.HealthIndicatorAutoConfiguration;
import org.springframework.boot.actuate.autoconfigure.ManagementServerPropertiesAutoConfiguration;
import org.springframework.boot.actuate.autoconfigure.ManagementWebSecurityAutoConfiguration;
import org.springframework.boot.actuate.autoconfigure.MetricExportAutoConfiguration;
import org.springframework.boot.actuate.autoconfigure.MetricFilterAutoConfiguration;
import org.springframework.boot.actuate.autoconfigure.MetricRepositoryAutoConfiguration;
import org.springframework.boot.actuate.autoconfigure.MetricsChannelAutoConfiguration;
import org.springframework.boot.actuate.autoconfigure.MetricsDropwizardAutoConfiguration;
import org.springframework.boot.actuate.autoconfigure.PublicMetricsAutoConfiguration;
import org.springframework.boot.actuate.endpoint.EndpointProperties;
import org.springframework.boot.actuate.endpoint.HealthEndpoint;
import org.springframework.boot.actuate.endpoint.mvc.HealthMvcEndpoint;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
import org.springframework.context.annotation.PropertySource;
@Configuration
@Import({ EndpointWebMvcManagementContextConfiguration.class,ManagementServerPropertiesAutoConfiguration.class,EndpointAutoConfiguration.class,HealthIndicatorAutoConfiguration.class,MetricExportAutoConfiguration.class,MetricFilterAutoConfiguration.class,MetricsChannelAutoConfiguration.class,MetricsDropwizardAutoConfiguration.class,MetricRepositoryAutoConfiguration.class,PublicMetricsAutoConfiguration.class,EndpointProperties.class,ManagementWebSecurityAutoConfiguration.class })
@PropertySource("classpath:Application.properties")
public class HealthCheckConfiguration {
@Bean
@Autowired
public HealthMvcEndpoint healthMvcEndpoint(HealthEndpoint delegate) {
return new HealthMvcEndpoint(delegate,true);
}
}
在新版本的弹簧执行器v2.3.1和spring v5.2.7中,您能帮我做同样的事情吗? 谢谢,
解决方法
这个配置对我有用(对于带有弹簧启动执行器的 SpringMVC 项目)
@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/*
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。