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