清洁玻璃鱼以避免部署失败

时间:2016-01-06 10:30:04

标签: java glassfish

我曾经使用Tomcat,因为我曾经用来清理临时文件夹n等以避免OutOfMemoryError。最近我开始使用Glassfish,所以我想知道在重新部署应用程序之前需要删除所有文件夹数据?

在我的Glassfish域中,只有一个域domain1。并且有两个节点,其中部署了不同的应用程序。我的服务器是在vagrant构建的linux虚拟机上。

1 个答案:

答案 0 :(得分:0)

我想您要问的是以下内容:

  

如果我多次将应用程序重新部署到Glassfish,就会产生这种情况   有时在OutOfMemoryError中。我需要哪些文件/文件夹   重新部署前删除以避免错误?

删除文件或文件夹在这里没有帮助,因为当没有足够的RAM用于JVM时会导致OutOfMemoryError。要修复它,您必须在重新部署之前重新启动服务器。

每次重新部署应用程序时,Glassfish都应卸载以前应用程序版本的所有旧类,并从新版本的应用程序加载新类。但经常发生的是,有一些旧的Java类实例引用无法卸载,因此加载新类需要更多的RAM。经过多次重新部署之后,对旧类的引用太多了,没有足够的RAM用于新类,并且抛出了OutOfMemoryError

我无法找到解决此问题的方法,您可以通过-Xmx参数增加JVM的可用RAM,但这只会在额外内存也完全填满之前有所帮助。如上所述,在重新部署之前重新启动服务器可以解决问题,但当然这不是一个真正的解决方案。