我们有一个使用 Spring-Hibernate 将注册用户数据持久保存在 Oracle 数据库中的 Web 应用程序。该应用程序在开发环境中运行良好,但是当我们将它复制到具有更多数据的实时环境时,它失败了。最初应用程序正常启动,但经过几次操作后出现“PermGen 空间不足”异常。
我已经开始在 Google、Spring 和 Hibernate 论坛中搜索,但没有帮助。关于这个错误有很多讨论,但是对于每个解决方案,都有人说:“它有效”而其他人说“它不起作用”。
例如,许多人提出增加-XX:MaxPermSize
JVM参数,其他人说它不起作用。有帖子说需要使用javassist库和其他库以及cglib库的使用问题。其他人说问题出在cglib中。
我们使用 Java1.5_0_09、带有 javaassist3.4.GA 的 Spring 2.5、Tomcat 5.5 作为 Web 容器和 Oracle 10g 作为数据库。
谁能解释一下导致这个问题的原因以及如何解决它?