2015-01-08 30 views
7

SpringチュートリアルBuilding a RESTful Web Serviceに基づいてRESTアプリケーションを監視しようとしていますが、Java Melodyのドキュメントページではweb.xmlファイルに依存しますが、そのようなファイルはありません。私は、Javaメロディの注釈を使用し、WebInitializerでcontextConfigLocationを設定してみましたが、Java Melodyページに入るとSpringセクションが表示されません。Spring-BootプロジェクトでJavaMelodyを使用してSpring Beanを監視する

は私が持っている。このように私のWebInitializar:私はJavaのメロディーのドキュメントとしてcontextConfigLocationを設定している

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); 
} 
} 

は語りました。

そして、私のコントローラ:

@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)); 
} 
} 

それを動作させるために、任意のアドバイスはありますか?

+3

'@ImportResource(" classpath:net/bull/javamelody/monitoring-spring.xml ")'を 'Application.class'に追加するだけです。 –

+1

ありがとう@ M.Deinum、それは動作します! – gamerkore

答えて

5

あなたが唯一のWebアプリケーションでjavamelody依存jarを必要とし、春のアプリケーションコンテキストに2つのBeanを登録します。

@Bean 
public HttpSessionListener javaMelodyListener(){ 
    return new net.bull.javamelody.SessionListener(); 
} 

@Bean 
public Filter javaMelodyFilter(){ 
    return new net.bull.javamelody.MonitoringFilter(); 
} 
関連する問題