我有一个项目,有几十个ejb和一个web项目,我试图从我笔记本电脑上的NetBeans 7.0.1直接部署到Solaris 10服务器上的Glassfish 3.0.1。忽略复制ear文件的传输时间,部署似乎花费了很长时间(3分钟是我见过的最快的时间)。部署的性能似乎随着时间的推移而下降,最终我不得不重新启动我的域。在我重新部署应用程序几次之后,我看到部署需要12-20分钟。
我通过右键单击NetBeans中的主项目并选择"部署"来部署。我有什么办法使它更有用?我可以提供哪些其他信息来帮助找到问题的根源?
更新:让最近的部署运行到完成,它在我的日志中以以下错误消息结束:
[#|2011-08-20T14:05:54.494-0400] SEVERE|glassfish3.1|javax.enterprise.system.tools.admin.org.glassfish.deployment.admin|_ThreadID=2490;_ThreadName=Thread-1;|加载应用时异常:EJB容器初始化错误outofmemoryerror: Java堆空间| #]
所以这看起来确实和记忆有关。在以这种方式终止之前,部署本身运行了超过10分钟。
由于我的应用程序的需求,我不得不将堆空间从默认的512MB分配增加到最小/最大1GB/2GB。这似乎略微改善了部署。我现在的典型部署时间是1分钟。它不是一流的,但至少是可以忍受的。
这是Glassfish焊接集成模块中一个严重错误的结果。如果没有这个bug,部署将超过20个!!比以前快几倍。http://java.net/jira/browse/glassfish - 18875
请投票尽快解决这个问题!