一定有一些方法来使用执行器的endpoint,但我不能电线他们。
我有一个JavaConfig类,如下所示
@Configuration
@ComponentScan(basePackages = { "com.company.helper", "org.springframework.boot" })
@EnableWebMvc
@Import({ DbConfig.class })
public class AppConfig extends WebMvcConfigurerAdapter {
}
但此配置在部署过程中引发错误。
没有Spring Boot应用程序,这种布线可以完成吗?
我在这篇博客文章中添加了关于如何在非引导应用程序中添加Spring引导执行器的信息
在应用程序的build.gradle中,我添加了以下依赖项
compile('org.springframework.boot:spring-boot-actuator:1.2.5.RELEASE'){
exclude group: 'org.springframework.boot', module:'spring-boot-starter-logging'}
在应用程序的Spring配置类中,我添加了以下内容:
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>
我们有独立的Spring Boot应用程序,它触发一些基于触发器的石英作业。它是独立的jar文件,不涉及应用服务器。
我的问题是:如何在使用Log4j2时查看所有记录器的完整列表,而不在Spring-boot应用程序中进行登录? 编辑:这里是我的pom.xml
我在应用程序中添加了Spring Boot执行器,但现在我想添加由执行器创建的新服务(/health/metrics..)在我大摇大摆的文件上。 我不知道如何配置执行器和大摇大摆。
在尝试url:http://localhost:8091/info时,它永远不会被解析。 是否不可能为独立应用配置执行器?
我的问题是:有什么方法可以防止这种行为(意味着bean错误冲突)?或者至少在发生这种情况时得到警告消息。 提前感谢您的回答
我有一个正在运行的Springboot应用程序,它提供URL并按预期返回JSON响应。 我添加了执行器依赖