在没有Spring Boot应用程序的情况下使用Spring Boot Actuator

迷失的墨西哥人

具有生产信息端点的Spring Boot的Actuator库对于任何服务器应用程序都非常有用。但是问题是我找不到整合到传统Spring Application(不是Spring BOOT应用程序)的方法。

必须使用某种方式来使用执行器的端点,但是我无法将它们连接起来。

我有一个如下的JavaConfig类

@Configuration
@ComponentScan(basePackages = { "com.company.helper", "org.springframework.boot" })
@EnableWebMvc
@Import({ DbConfig.class })

public class AppConfig extends WebMvcConfigurerAdapter {

}

但是此配置在部署期间会引发错误。

如果没有Spring Boot应用程序,可以完成此连接吗?

普拉泰克·内吉

我在此博客文章中添加了有关如何在非启动应用程序中添加弹簧启动执行器的信息

http://givenwhenthen.blogspot.com/2015/09/adding-spring-boot-actuator-to-non.html

在应用程序的build.gradle中,我添加了以下依赖项

compile('org.springframework.boot:spring-boot-actuator:1.2.5.RELEASE'){
    exclude group: 'org.springframework.boot', module:'spring-boot-starter-logging'}

在应用程序的Spring Config类中,我添加了以下内容:

 import org.springframework.beans.factory.annotation.Autowired;  
 import org.springframework.boot.actuate.autoconfigure.EndpointAutoConfiguration;  
 import org.springframework.boot.actuate.endpoint.BeansEndpoint;  
 import org.springframework.boot.actuate.endpoint.HealthEndpoint;  
 import org.springframework.boot.actuate.endpoint.InfoEndpoint;  
 import org.springframework.boot.actuate.endpoint.RequestMappingEndpoint;  
 import org.springframework.boot.actuate.endpoint.mvc.EndpointHandlerMapping;  
 import org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter;  
 import org.springframework.boot.actuate.endpoint.mvc.HealthMvcEndpoint;  
 import org.springframework.boot.actuate.endpoint.mvc.MvcEndpoint;  

 @Configuration  
 @Import(EndpointAutoConfiguration.class)  
 public class MyAppSpringConfig {  

   @Bean  
   @Autowired  
   //Define the HandlerMapping similar to RequestHandlerMapping to expose the endpoint  
   public EndpointHandlerMapping endpointHandlerMapping(  
     Collection<? extends MvcEndpoint> endpoints  
   ){  
     return new EndpointHandlerMapping(endpoints);  
   }  

   @Bean  
   @Autowired  
   //define the HealthPoint endpoint  
   public HealthMvcEndpoint healthMvcEndpoint(HealthEndpoint delegate){  
     return new HealthMvcEndpoint(delegate, false);  
   }  

   @Bean  
   @Autowired  
   //define the Info endpoint  
   public EndpointMvcAdapter infoMvcEndPoint(InfoEndpoint delegate){  
      return new EndpointMvcAdapter(delegate);  
   }  

   @Bean  
   @Autowired  
   //define the beans endpoint  
   public EndpointMvcAdapter beansEndPoint(BeansEndpoint delegate){  
     return new EndpointMvcAdapter(delegate);  
   }  

   @Bean  
   @Autowired  
   //define the mappings endpoint  
   public EndpointMvcAdapter requestMappingEndPoint(  
     RequestMappingEndpoint delegate  
   ){  
     return new EndpointMvcAdapter(delegate);  
  }  
}  

如果您想摆脱一种额外的依赖关系,请参阅博客文章。

更新

另外,还需要确保为RequestMappingHandlerAdapter定义了一个bean,否则,ServletDispatcher将无法为HealthMvcEndpoint的处理程序获取适配器。

如果没有,只需将其添加到您的bean配置文件中

xml配置:

<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
        <property name="messageConverters">
            <list>
                <ref bean="jsonConverter"/>
            </list>
        </property>
    </bean>

    <bean id="jsonConverter" class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
        <property name="supportedMediaTypes" value="application/json" />
        <property name="prettyPrint" value="true" />
    </bean>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在没有用户登录的情况下保护Spring Boot应用程序的安全

来自分类Dev

如何在没有 Eclipse 的情况下运行 Spring Boot 应用程序?

来自分类Dev

如何在不使用ComponentScan的情况下启动Spring Boot Web应用程序

来自分类Dev

Spring Boot Actuator漂亮的打印JSON

来自分类Dev

Spring Boot Actuator锁定策略实施

来自分类Dev

Spring Boot Actuator Liquibase端点失败

来自分类Dev

Spring Boot Actuator应用程序无法在Ubuntu VPS上启动

来自分类Dev

Spring Boot应用程序通过spring-boot-starter-actuator给出了“无法启动tomcat”异常

来自分类Dev

Spring Boot-在不重新启动应用程序的情况下更新ResourceHandlerRegistry

来自分类Dev

如何在不继承“ spring-boot-starter-parent”模块的情况下测试Spring-Boot应用程序?

来自分类Dev

如何在不继承“ spring-boot-starter-parent”模块的情况下测试Spring-Boot应用程序?

来自分类Dev

如何在没有 spring boot 和 springrest 的情况下将 Jersey 集成到 spring 5 mvc 应用程序中

来自分类Dev

不显示Spring Boot Actuator的所有链接

来自分类Dev

如何在不依赖数据库的情况下启动spring-boot应用程序?

来自分类Dev

如何在不依赖数据库的情况下启动spring-boot应用程序?

来自分类Dev

如何在不依赖数据库的情况下启动spring-boot应用程序?

来自分类Dev

如何在没有任何端口的情况下直接使用url访问我的spring boot Web应用程序?

来自分类Dev

部署到外部Tomcat容器时的Spring Boot Actuator端口

来自分类Dev

Spring Boot Actuator在环境端点中隐藏属性值

来自分类Dev

在Spring Boot Actuator中为/ health端点启用CORS

来自分类Dev

如何在Spring Boot Actuator中注册匿名HealthIndicators

来自分类Dev

Spring Boot Actuator configprops端点不返回@Value注释的属性

来自分类Dev

Spring Boot Actuator-无法禁用/ info端点

来自分类Dev

如何自定义Spring Boot Actuator端点

来自分类Dev

Spring Boot Actuator指标mem和mem.free

来自分类Dev

Spring Boot Actuator显示微服务的状态为Down

来自分类Dev

如何自定义Spring Boot Actuator端点

来自分类Dev

Spring Boot Actuator configprops端点不返回@Value注释的属性

来自分类Dev

如何在Spring Boot Actuator中注册匿名HealthIndicators

Related 相关文章

  1. 1

    在没有用户登录的情况下保护Spring Boot应用程序的安全

  2. 2

    如何在没有 Eclipse 的情况下运行 Spring Boot 应用程序?

  3. 3

    如何在不使用ComponentScan的情况下启动Spring Boot Web应用程序

  4. 4

    Spring Boot Actuator漂亮的打印JSON

  5. 5

    Spring Boot Actuator锁定策略实施

  6. 6

    Spring Boot Actuator Liquibase端点失败

  7. 7

    Spring Boot Actuator应用程序无法在Ubuntu VPS上启动

  8. 8

    Spring Boot应用程序通过spring-boot-starter-actuator给出了“无法启动tomcat”异常

  9. 9

    Spring Boot-在不重新启动应用程序的情况下更新ResourceHandlerRegistry

  10. 10

    如何在不继承“ spring-boot-starter-parent”模块的情况下测试Spring-Boot应用程序?

  11. 11

    如何在不继承“ spring-boot-starter-parent”模块的情况下测试Spring-Boot应用程序?

  12. 12

    如何在没有 spring boot 和 springrest 的情况下将 Jersey 集成到 spring 5 mvc 应用程序中

  13. 13

    不显示Spring Boot Actuator的所有链接

  14. 14

    如何在不依赖数据库的情况下启动spring-boot应用程序?

  15. 15

    如何在不依赖数据库的情况下启动spring-boot应用程序?

  16. 16

    如何在不依赖数据库的情况下启动spring-boot应用程序?

  17. 17

    如何在没有任何端口的情况下直接使用url访问我的spring boot Web应用程序?

  18. 18

    部署到外部Tomcat容器时的Spring Boot Actuator端口

  19. 19

    Spring Boot Actuator在环境端点中隐藏属性值

  20. 20

    在Spring Boot Actuator中为/ health端点启用CORS

  21. 21

    如何在Spring Boot Actuator中注册匿名HealthIndicators

  22. 22

    Spring Boot Actuator configprops端点不返回@Value注释的属性

  23. 23

    Spring Boot Actuator-无法禁用/ info端点

  24. 24

    如何自定义Spring Boot Actuator端点

  25. 25

    Spring Boot Actuator指标mem和mem.free

  26. 26

    Spring Boot Actuator显示微服务的状态为Down

  27. 27

    如何自定义Spring Boot Actuator端点

  28. 28

    Spring Boot Actuator configprops端点不返回@Value注释的属性

  29. 29

    如何在Spring Boot Actuator中注册匿名HealthIndicators

热门标签

归档