Hibernate 是否有可能在玻璃鱼中完全取消部署?

Hibernate 是否有可能在玻璃鱼中完全取消部署?,hibernate,memory,glassfish,memory-leaks,permgen,Hibernate,Memory,Glassfish,Memory Leaks,Permgen,我意识到任何使用hibernate的应用程序都无法在Glassfish 2.1.1中完全取消部署。许多类在取消部署过程后仍保留在内存中,您可以使用jmap和jhat进行检查 我做了几次测试,发现只有使用hibernate的应用程序才有一个clen取消部署过程。我为Hibernate提供的所有数据库都是JTDS1.2.5 您甚至不需要运行应用程序。如果您只是部署,并立即取消部署,您将在内存中实现几个类,许多来自应用程序,许多来自hibernate及其依赖项 在Glassfish v2.1.1中是否

我意识到任何使用hibernate的应用程序都无法在Glassfish 2.1.1中完全取消部署。许多类在取消部署过程后仍保留在内存中,您可以使用jmap和jhat进行检查

我做了几次测试,发现只有使用hibernate的应用程序才有一个clen取消部署过程。我为Hibernate提供的所有数据库都是JTDS1.2.5

您甚至不需要运行应用程序。如果您只是部署,并立即取消部署,您将在内存中实现几个类,许多来自应用程序,许多来自hibernate及其依赖项


在Glassfish v2.1.1中是否有可能完全取消部署?我一直在耗尽permgen空间。

这不是一个确定的答案,但如果您使用hibernate,它至少可以最小化与glassfish相关的未部署问题:

  • 不要在实体中使用枚举。改为创建常规类
  • 只注释方法,不注释属性

这两项可以帮助最小化问题,但不要让它们脱离您的开发环境。即使您不使用hibernate,您的sesion bean即使在取消部署后也会永久保留在内存中。

这不是一个确定的答案,但如果您使用hibernate,它至少可以最小化与glassfish相关的取消部署问题:

  • 不要在实体中使用枚举。改为创建常规类
  • 只注释方法,不注释属性

这两项可以帮助最小化问题,但不要让它们脱离您的开发环境。即使您不使用hibernate,您的sesion bean即使在取消部署后也会永远留在内存中。

这可能有一些有用的信息:我已经访问了本文,但未能成功。在这个特别的提示中,他知道自己在寻找什么。。就我而言,我没有。此外,所显示的类的数量是巨大的,我只是找不到解决问题的方法。你可能想看看这个帖子:@vkraemer你应该把它作为答案发布。这可能有一些有用的信息:我已经访问了这篇文章,但没有成功。在这个特别的提示中,他知道自己在寻找什么。。就我而言,我没有。此外,所显示的类的数量是巨大的,我只是找不到解决问题的方法。你可能想看看这个帖子:@vkraemer你应该发布这个作为答案。你能发布一个描述枚举问题的引用吗?枚举有什么特别之处?谢谢。事实上,这是通过使用探查器指出的,它表明JPA实体中映射的枚举从未离开内存。然而,自从我们停止使用并切换到Jboss之后,这就不再是一个问题了。Glassfish 2.1.1似乎存在多处内存泄漏,您是否可以发布一篇描述枚举问题的参考资料?枚举有什么特别之处?谢谢。事实上,这是通过使用探查器指出的,它表明JPA实体中映射的枚举从未离开内存。然而,自从我们停止使用并切换到Jboss之后,这就不再是一个问题了。Glassfish 2.1.1似乎存在多个内存泄漏