现有webapp上的Spring启动运行状况检查

我有现有的Spring MVC Web应用程序。 现在我只想使用spring-boot-starter-actuator中的健康检查function。

我是Spring的新手,所以不确定我是否需要将我的完整项目转换为spring boot项目以进行运行状况检查。 我可以只包含依赖项,并以某种方式只启用所需的function吗?

我自己弄清楚了。 而不是spring-boot-starter-actuator我包括spring-boot-actuator 。 我不需要使用@SpringBootApplication初始化应用程序。 相反,现在我只导入所需的auto-config类。 所以config类现在看起来像这样

 @Configuration @ComponentScan(basePackages = { "org.example" }) @Import({MyApplicationContext.class, EndpointWebMvcAutoConfiguration.class, ManagementServerPropertiesAutoConfiguration.class, EndpointAutoConfiguration.class, HealthIndicatorAutoConfiguration.class}) @PropertySource("classpath:app.properties") @EnableWebMvc public class MyWebApplicationContext { ... } 

EndpointWebMvcAutoConfiguration依赖于ManagementServerProperties因此必须导入它。 这对我来说似乎是最基本的配置。 如果有更好的选择,请告诉我

首先,我想告诉sidgate的答案是正确的。 但也许有人需要启用所有指标或选择不同的指标集。

您仍然可以使用spring-boot-starter-actuator代替spring-boot-actuator

用于启用所有指标

 @org.springframework.context.annotation.Configuration @org.springframework.boot.autoconfigure.EnableAutoConfiguration @org.springframework.boot.actuate.autoconfigure.ManagementContextConfiguration public class MyApplicationContext { } 

其中@EnableAutoConfiguration

 org.springframework.boot.actuate.autoconfigure.AuditAutoConfiguration, org.springframework.boot.actuate.autoconfigure.CacheStatisticsAutoConfiguration, org.springframework.boot.actuate.autoconfigure.CrshAutoConfiguration, org.springframework.boot.actuate.autoconfigure.EndpointAutoConfiguration, org.springframework.boot.actuate.autoconfigure.EndpointMBeanExportAutoConfiguration, org.springframework.boot.actuate.autoconfigure.EndpointWebMvcAutoConfiguration, org.springframework.boot.actuate.autoconfigure.HealthIndicatorAutoConfiguration, org.springframework.boot.actuate.autoconfigure.InfoContributorAutoConfiguration, org.springframework.boot.actuate.autoconfigure.JolokiaAutoConfiguration, org.springframework.boot.actuate.autoconfigure.ManagementServerPropertiesAutoConfiguration, org.springframework.boot.actuate.autoconfigure.ManagementWebSecurityAutoConfiguration, org.springframework.boot.actuate.autoconfigure.MetricFilterAutoConfiguration, org.springframework.boot.actuate.autoconfigure.MetricRepositoryAutoConfiguration, org.springframework.boot.actuate.autoconfigure.MetricsDropwizardAutoConfiguration, org.springframework.boot.actuate.autoconfigure.MetricsChannelAutoConfiguration, org.springframework.boot.actuate.autoconfigure.MetricExportAutoConfiguration, org.springframework.boot.actuate.autoconfigure.PublicMetricsAutoConfiguration, org.springframework.boot.actuate.autoconfigure.TraceRepositoryAutoConfiguration, org.springframework.boot.actuate.autoconfigure.TraceWebFilterAutoConfiguration.class 

@ManagementContextConfiguration

 org.springframework.boot.actuate.autoconfigure.EndpointWebMvcManagementContextConfiguration, org.springframework.boot.actuate.autoconfigure.EndpointWebMvcHypermediaManagementContextConfiguration 

启用S​​pring Boot配置

为了启用某些管理端点,您可以直接导入端点的配置,如sidgate已经解释过的那样

 @Configuration @Import({ org.springframework.boot.actuate.autoconfigure.AuditAutoConfiguration.class, org.springframework.boot.actuate.autoconfigure.CacheStatisticsAutoConfiguration.class, ... }) public class MyApplicationContext { } 

PS当然,Spring Application Context和Properties初始化可以通过注释或xml配置进行配置。