Tomcat 6을 사용하여 JAX-RS 웹 서비스가 제공됩니다. Guice를 사용하여 리소스를 주입하고 서블릿을 만듭니다.JAX-RS, Tomcat 및 Guice를 사용하여 리소스가 파괴되는지 확인
은 확실히 메모리 누수가 있는데 내가 요청의 종료 또는 응용 프로그램의 종료 중 하나를 처리하고 있지 않다 때문입니다 가정합니다.
내가 지속적으로 서비스에 대한 요청을 새로 고치면 내가 톰캣의 메모리 사용이 올라 내가 Tomcat을 재활용 할 때까지 감소하지 않는 것을 볼 수 있습니다.
나는 RTFM을 시도했지만 나는 수명주기를 grokking 아니에요.
나는 그래서 내가 바보되고 있어요public class RadWebServiceServletConfig extends GuiceServletContextListener {
@Override
protected Injector getInjector() {
return Guice.createInjector(new JerseyServletModule() {
@Override
protected void configureServlets() {
// Must configure at least one JAX-RS resource or the
// server will fail to start.
bind(Crags.class);
bind(IDataFacade.class).to(DataFacade.class);
bind(IRepository.class).to(Repository.class);
//filter all requests to log
filter("/*").through(LoggingFilter.class);
// Route all requests through GuiceContainer
Map<String, String> params = new HashMap<String, String>();
params.put("com.sun.jersey.spi.container.ContainerRequestFilters",
"com.sun.jersey.api.container.filter.GZIPContentEncodingFilter");
params.put("com.sun.jersey.spi.container.ContainerResponseFilters",
"com.sun.jersey.api.container.filter.GZIPContentEncodingFilter");
serve("/*").with(GuiceContainer.class, params);
}
});
}
}
를 사용하여 서블릿을 만들? 요청 또는 앱 컨텍스트의 끝을 어디에서 확인할 수 있습니까?