加速Jboss Seam调试周期的诀窍

时间:2009-03-18 13:02:40

标签: debugging seam performance

我们在eclipse中部署和调试Jboss Seam 2.0 EAR应用程序,在Jboss AS 4.2.2上启动它。现在我们需要在每次更改消息包,pages.xml,components.xml或模型时重新启动它,这需要45秒。

是否可以在热部署中包含上述文件,以及提升启动速度的选项有哪些?

作为参考框架,我们使用英特尔四核6600或更高版本,至少4GB内存。

编辑:除了热部署消息包,pages.xml,components.xml等之外,我正在寻找提高启动速度(即45秒)的方法。

5 个答案:

答案 0 :(得分:3)

这对于Seam来说已成为一个突出的问题:https://jira.jboss.org/jira/browse/EJBTHREE-1096

这不是一个技巧 - 更多的工作方法 - 但我将所有的UI代码(页面处理程序等)都作为POJO,以便它们可以轻松地进行热部署。我在SLSB / SFSB中放置了更严肃的业务逻辑,并对它们进行了彻底的单元测试,希望通过UI测试应用程序时,我的部署更少。

目前,可以热门部署pages.xml 。我已经阅读了一些重新加载消息包的解决方案,但它从来没有让我感到困扰,需要进一步调查。

答案 1 :(得分:1)

当你说'重启'时,听起来你的意思是'关闭并重新启动JBoss'。

您只需通过触摸文件(对于EAR或WAR存档)或部署描述符(app.ear/META-INF/application.xmlapp.war/WEB-INF/web.xml)来强制JBoss重新加载应用程序,以获取展开的存档。

重新加载Seam应用程序EAR在我的机器上大约需要15秒,而启动JBoss大约需要30秒,不包括关机,但包括启动Seam应用程序。

如果您确实要重新启动JBoss,可以通过删除开发环境中不需要的组件(例如JBossHA(高可用性和群集))来加快启动速度。

答案 2 :(得分:1)

由于将JRebel与JBoss一起使用,我节省了大量时间。 http://www.zeroturnaround.com/jrebel/

它不是免费的,但它是非常值得花钱的工具之一,可以节省大量时间重新启动,只需稍加改动即可重新部署应用程序。

E.g。它重新加载messages.properties。

答案 3 :(得分:0)

在这45秒内它做了什么?如果从硬盘驱动器加载数据,那么您可以投资更快的数据。如今,非SSD硬盘仍然是瓶颈。虽然时间指出了其他一些问题......

我认为最好在以下情况下打开(或寻找)问题:
https://jira.jboss.org/jira/browse/JBSEAM

(注意:对于发布问题,您需要先登录。)

答案 4 :(得分:0)

我通过转战并将Jboss剥离到最低限度来加快启动时间(因为我只使用了接缝POJO而不是EJB)。