Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在springboot项目中使用JavaMelody监控springbean_Spring_Spring Boot_Java Melody - Fatal编程技术网

在springboot项目中使用JavaMelody监控springbean

在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

我试图基于Spring教程监控REST应用程序,但在Java Melody文档页面中,配置取决于web.xml文件,但Spring项目没有这样的文件。我尝试使用java melody注释并在WebInitializer中设置contextConfigLocation,但当我进入java melody页面时,我看不到Spring部分

我的WebInitializar如下所示:

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,它可以工作!!