在我的 Spring MVC 应用程序中实现 Spring Actuator 而不添加 Spring Boot
Posted
技术标签:
【中文标题】在我的 Spring MVC 应用程序中实现 Spring Actuator 而不添加 Spring Boot【英文标题】:Implement Spring Actuator in my Spring MVC app without adding Spring boot 【发布时间】:2019-03-31 06:14:28 【问题描述】:目前我有一个使用 Spring MVC 的遗留项目。现在需要实现 Spring boot 执行器。所以我的问题是
-
我可以在我的 Spring MVC 应用程序中实现 Spring Actuator 而不添加
弹簧靴
我可以同时拥有 Spring Boot 和 Spring MVC 吗?
应用。如果是,那么如何。
如果有人可以描述它的逐步实现,那就太好了。 我正在使用 Eclipse、Gradle、Tomcat
【问题讨论】:
【参考方案1】:回答您的第一个问题:
是的,您可以在 spring mvc 项目中使用执行器。将此添加到 pom.xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-actuator</artifactId>
<version>Compatible version with mvc</version>
</dependency>
在下方添加配置
@Configuration
@EnableWebMvc
@Import(EndpointAutoConfiguration.class , PublicMetricsAutoConfiguration.class , HealthIndicatorAutoConfiguration.class
)
public class MyActuatorConfig
@Bean
@Autowired
public EndpointHandlerMapping endpointHandlerMapping(Collection<? extends MvcEndpoint> endpoints)
return new EndpointHandlerMapping(endpoints);
@Bean
@Autowired
public EndpointMvcAdapter metricsEndPoint(MetricsEndpoint delegate)
return new EndpointMvcAdapter(delegate);
2。回答你的第二个问题
当然你可以使用Spring boot
和spring MVC
,只是简单地把下面作为父级来管理所有依赖版本等。
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.6.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
和 spring-boot-starter-web
作为依赖项。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
【讨论】:
对于第一个答案步骤 2 - 您能在此处提及 spring servlet 中的条目吗?即要传递哪些值以使自动装配正常工作 配置后 /actuator 端点应该可用并且对于指标 /metrics 相同 但是如何配置呢?即我不明白第 2 步。你能详细描述一下吗?因为它有 @Autowired 注释,我们应该在哪里注入这些依赖项以及如何注入?我被困在那一点上。提前致谢 创建此配置类后,您将可以访问执行器端点,您可以通过它们的端点调用该端点以获取有关指标等的信息,如果您想自定义信息默认结束品脱返回,那么请查看执行器文档,例如 EndpointHandlerMapping 是否可用作 bean。这足以配置执行器。 类 EndpointAutoConfiguration、PublicMetricsAutoConfiguration、HealthIndicatorAutoConfiguration 仅通过 spring-boot-actuator 依赖没有得到解决。我认为它需要弹簧靴以上是关于在我的 Spring MVC 应用程序中实现 Spring Actuator 而不添加 Spring Boot的主要内容,如果未能解决你的问题,请参考以下文章
如何在我的 ASP.NET MVC 应用程序中实现“全选”复选框?