我在生产中有一个grails (v2.1.5)应用程序,工作正常,我可以重新部署,但我已经更新了应用程序(一些更改),当我部署新的war时,我发现内存泄漏错误,服务器启动但应用程序不工作(浏览器中的页面只是一个withe页面),我试图重新启动实例,停止所有服务……,
我只能重新部署旧的战争。我怎么才能解决这个问题?
谢谢。
错误:
2014年3月9日下午4:02:14 org.apache.catalina.core.StandardContext startInternal startInternal: Error listenerStart 2014年3月9日4:07:17 PM org.apache.catalina.core.StandardContext startInternal严重:由于先前的错误,上下文[]启动失败 2014年3月09,4:07:17 PM org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc clearReferencesJdbc: web应用程序[]注册了JDBC驱动程序com.mysql.jdbc.Driver,但在web应用程序停止时未能将其注销。为了防止内存泄漏,已强制取消JDBC驱动程序的注册。 2014年3月9日下午4:07:17 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads严重: web应用程序[]似乎启动了一个名为废弃的连接清理线程,但未能阻止它。这很可能造成内存泄漏。 2014年3月9日下午4:07:17 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads : web应用程序[]似乎启动了一个名为net.sf.ehcache.CacheManager@61783b69的线程,但未能阻止它。这很可能造成内存泄漏。 2014年3月9日下午4:07:17 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads : web应用程序[]似乎启动了一个名为com.padelsix.SecRole.data的线程,但未能阻止它。这很可能造成内存泄漏。
发布于 2016-08-11 13:38:54
web应用程序/services似乎启动了一个名为[net.sf.ehcache.CacheManager@37ce6a10]的线程,但未能阻止它。这很可能造成内存泄漏。在我们使用基于注释的配置的基于groovy的spring应用程序中,解决方案是使用类中的上下文注册net.sf.ehcache.constructs.web.ShutdownListener类,该上下文通过重写的onStartup()方法扩展WebApplicationInitializer,如下所示:
import net.sf.ehcache.constructs.web.ShutdownListener
import org.springframework.web.WebApplicationInitializer
...
public class CustomWebApplicationInitializer implements WebApplicationInitializer {
...
@Override
public void onStartup(ServletContext servletContext) throws ServletException {
...
createContext(...)
...
}
private AnnotationConfigWebApplicationContext createContext(final Class... annotatedClasses) {
AnnotationConfigWebApplicationContext context = new AnnotationConfigWebApplicationContext()
context.register(annotatedClasses)
context.register(ShutdownListener)
return context
}
}发布于 2014-03-09 19:22:58
主要问题不是潜在的内存泄漏,而是日志的第一部分:
2014年3月9日下午4:02:14 org.apache.catalina.core.StandardContext startInternal startInternal: Error listenerStart 2014年3月9日4:07:17 PM org.apache.catalina.core.StandardContext startInternal严重:由于先前的错误,上下文[]启动失败
错误“严重:错误listenerStart”通常意味着servlet上下文侦听器(在启动时运行)出现了一个错误,阻止了webapp的启动。
查找catalina.out和localhost.<date>.log中的错误。您可能需要启用其他日志记录以查找此错误的根本原因。谷歌的“严厉:错误的listenerStart”,并寻找特定的说明,您的版本的Tomcat。
https://stackoverflow.com/questions/22286181
复制相似问题