What is the best way to integrate JavaMelody with SparkJava in case I want to use simple configuration with SparkJava's embedded Jetty server?
This is how I start SparkJava:
Spark.get("/abc",(req,resp)->System.out.println("abc"));
Spark.init();
This is how I start javamelody:
public static void start(int port, Map<Parameter, String> parameters) {
final Server server = new Server(port);
final ContextHandlerCollection contexts = new ContextHandlerCollection();
final ServletContextHandler context = new ServletContextHandler(contexts, "/",
ServletContextHandler.SESSIONS);
final Filter monitoringFilter = new net.bull.javamelody.MonitoringFilter();
final FilterHolder filterHolder = new FilterHolder(monitoringFilter);
if (parameters != null) {
for (final Map.Entry<Parameter, String> entry : parameters.entrySet()) {
final net.bull.javamelody.Parameter parameter = entry.getKey();
final String value = entry.getValue();
filterHolder.setInitParameter(parameter.getCode(), value);
}
}
context.addFilter(filterHolder, "/*",
EnumSet.of(DispatcherType.INCLUDE, DispatcherType.REQUEST));
final RequestLogHandler requestLogHandler = new RequestLogHandler();
contexts.addHandler(requestLogHandler);
final HandlerCollection handlers = new HandlerCollection();
handlers.setHandlers(new Handler[]{contexts});
server.setHandler(handlers);
server.start();
}
The problem with such JavaMelody start is that it creates another jetty server. It works ok with Spring and Hibernate, so you can see all the statistics, but you can't see HTTP request statistics because it is another jetty server.
So the precise question is: how to start JavaMelody with SparkJava so that you can see all the statistics in JavaMelody including Http stats.
ps: reflection hacks are ok for me as a solution