在springboot项目中使用JavaMelody监控springbean
我试图基于Spring教程监控REST应用程序,但在Java Melody文档页面中,配置取决于web.xml文件,但Spring项目没有这样的文件。我尝试使用java melody注释并在WebInitializer中设置contextConfigLocation,但当我进入java melody页面时,我看不到Spring部分 我的WebInitializar如下所示:在springboot项目中使用JavaMelody监控springbean,spring,spring-boot,java-melody,Spring,Spring Boot,Java Melody,我试图基于Spring教程监控REST应用程序,但在Java Melody文档页面中,配置取决于web.xml文件,但Spring项目没有这样的文件。我尝试使用java melody注释并在WebInitializer中设置contextConfigLocation,但当我进入java melody页面时,我看不到Spring部分 我的WebInitializar如下所示: public class WebInitializer extends SpringBootServletInitiali
public class WebInitializer extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(Application.class).properties();
}
@Override
public void onStartup(ServletContext servletContext) throws ServletException {
servletContext.setInitParameter("contextConfigLocation", "classpath:net/bull/javamelody/monitoring-spring.xml");
super.onStartup(servletContext);
}
}
我已经设置了contextConfigLocation,正如Java Melody文档所述
和我的控制器:
@RestController
@MonitoredWithSpring
public class GreetingController {
private static final String template = "Hello, %s!";
private final AtomicLong counter = new AtomicLong();
@RequestMapping("/greeting")
public Greeting greeting(@RequestParam(value="name", defaultValue="World") String name) {
return new Greeting(counter.incrementAndGet(),
String.format(template, name));
}
}
有什么建议可以让它工作吗?您只需要在web应用程序中使用javamelody依赖项jar,并在spring应用程序上下文中注册两个bean:
@Bean
public HttpSessionListener javaMelodyListener(){
return new net.bull.javamelody.SessionListener();
}
@Bean
public Filter javaMelodyFilter(){
return new net.bull.javamelody.MonitoringFilter();
}
现在有一个使用javamelody监控Spring boot应用程序的文档,包括Spring beans:
只需将
@ImportResource(“classpath:net/bull/javamelody/monitoring spring.xml”)
添加到您的应用程序中。class
。谢谢@M.Deinum,它可以工作!!