我在此博客文章中添加了有关如何在非启动应用程序中添加弹簧启动执行器的信息
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 > <property name="messageConverters"> <list> <ref bean="jsonConverter"/> </list> </property> </bean> <bean id="jsonConverter" > <property name="supportedMediaTypes" value="application/json" /> <property name="prettyPrint" value="true" /> </bean>



