@Bean
public FilterRegistrationBean filterRegistrationBean() {
Filter javaMelodyFilter = new MonitoringFilter();
FilterRegistrationBean javaMelodyFilterBean = new FilterRegistrationBean(javaMelodyFilter);
javaMelodyFilterBean.addServletNames("monitoring");
javaMelodyFilterBean.addUrlPatterns("/*");
return javaMelodyFilterBean;
}
Compiles fine and when I run, I get monitoring-spring.xml file not found exception. Do I have to create an empty XML file with name monitoring-spring.xml under src/main/resources folder?
"classpath:net/bull/javamelody/monitoring-spring.xml"
instead. And you should also add a SessionListener and, if you
want, javamelody parameters.import javax.servlet.ServletContext;Inspiration taken from https://github.com/mycellar/mycellar/blob/master/src/main/java/fr/mycellar/configuration/JavaMelodyConfiguration.java
import javax.servlet.ServletException;
import net.bull.javamelody.MonitoringFilter;
import net.bull.javamelody.Parameter;
import net.bull.javamelody.SessionListener;
import org.springframework.boot.context.embedded.FilterRegistrationBean;
import org.springframework.boot.context.embedded.ServletContextInitializer;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.ImportResource;
/**
* @author speralta, evernat
*/
@Configuration
@ImportResource("classpath:net/bull/javamelody/monitoring-spring.xml")
public class JavaMelodyConfiguration implements ServletContextInitializer {
@Override
public void onStartup(ServletContext servletContext) throws ServletException {
servletContext.addListener(new SessionListener());
}
@Bean
public FilterRegistrationBean javaMelody() {
FilterRegistrationBean javaMelody = new FilterRegistrationBean();
javaMelody.setFilter(new MonitoringFilter());
// see list of parameters:
// https://github.com/javamelody/javamelody/wiki/UserGuide#6-optional-parameters
javaMelody.addInitParameter(Parameter.LOG.getCode(), Boolean.toString(true));
javaMelody.addUrlPatterns("/*");
return javaMelody;
}
}
--
---
You received this message because you are subscribed to the Google Groups "javamelody" group.
To unsubscribe from this group and stop receiving emails from it, send an email to javamelody+...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
<dependency>
<groupId>net.bull.javamelody</groupId>
<artifactId>javamelody-core</artifactId>
<version>1.54.0</version>
</dependency>
#2 Controller class
@RestController
@RequestMapping("/ri")
@MonitoredWithSpring
public class RequestInstanceController {
#3 Configuration Class
@ImportResource("classpath:monitoring-spring.xml")
@Configuration
public class Database {
...
...
@Bean
public FilterRegistrationBean filterRegistrationBean() {
Filter javaMelodyFilter = new MonitoringFilter();
FilterRegistrationBean javaMelodyFilterBean = new FilterRegistrationBean(
javaMelodyFilter);
javaMelodyFilterBean.addServletNames("monitoring");
javaMelodyFilterBean.addUrlPatterns("/*");
return javaMelodyFilterBean;
}
}
#4 From javamelody jar file, took the sample monitoring-spring.xml and placed it under my project classpath. This is what I was missing originally. From your note, I realize I dont have to move the xml file into my project instead point it to javamelody jar thats in classpath any way.
#5 Accessed springboot application through http://localhost:8080 and Javamelody monitoring application through http://localhost:8080/monitoring
Thanks