当我的webapp使用spring,hibernate和tiles时,我似乎遇到了内存泄漏问题。我认为这可能是由于我的应用程序在部署之后没有自行清理。我部署和部署很多,因为我目前正在学习所有这些框架。spring 3.1,hibernate 4,tiles2,tomcat 7 - 清理(多个部署导致内存泄漏)
在我的web应用程序中应该做些什么来清理?我目前没有做任何事情,因为我认为Java自动进行内存清理,但是我很确定它在春季来临时并没有做任何事情,因为tomcat不停地抱怨permgen内存。
我很困惑我是否需要运行某些方法来保持干净。我读过关于在某处注册应用程序的Spring钩子,然后在关闭应用程序时正确清理了它?我不确定这样的事情是否有必要,但在新版本的弹簧中(3.1)
例如,tomcat一直告诉我,我没有正确注销JDBC驱动程序(但我认为tomcat会自动执行此操作如果它被检测到)。
我明白这是一个非常含糊的问题,但如果有人可以提到某些事情需要做,以防止我的应用程序泄漏,我可以自己为他们谷歌。
谢谢!
它是否会导致perm gen空间错误? – Ralph 2012-01-11 06:21:25
通过检查tomcat中是否有任何ERROR日志语句来检查部署是否正确。另外,如果tomcat说JDBC驱动程序没有正确注册,那么它需要注意。检查jdbc驱动程序库是否存在于类路径中。 – Gaurav 2012-01-11 06:24:17