我意识到任何使用休眠的应用程序都无法在 Glassfish 2.1.1 中完全取消部署。许多类在取消部署过程后仍保留在内存中,您可以使用 jmap 和 jhat 进行检查。
我做了几次测试,发现只有休眠的应用程序没有一个 clen undeploy 进程。在所有情况下,我的 Hibernate 数据库提供程序都是 jTDS 1.2.5。
您甚至不需要运行应用程序。如果您只是部署,然后立即取消部署,您将在内存中实现多个类,许多来自您的应用程序,许多来自 hibernate 及其依赖项。
是否可以在 Glassfish v2.1.1 中进行干净的取消部署?我一直在用完 permgen 空间。