4

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

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

作为参考,我们使用英特尔四核 6600 或更好的处理器,内存至少为 4GB。

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

4

5 回答 5

3

多年来,这一直是 Seam 的一个突出问题:https ://jira.jboss.org/jira/browse/EJBTHREE-1096

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

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

于 2009-03-23T12:12:40.270 回答
1

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

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

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

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

于 2009-03-31T13:24:00.720 回答
1

自从将 JRebel 与 JBoss 一起使用以来,我节省了很多时间。 http://www.zeroturnaround.com/jrebel/

它不是免费的,但恕我直言,它是物有所值的工具之一,并且可以节省大量重启时间,只需进行少量更改即可重新部署应用程序。

例如,它重新加载messages.properties。

于 2010-09-06T12:17:46.437 回答
0

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

我认为您最好在以下位置打开(或查找)问题:
https ://jira.jboss.org/jira/browse/JBSEAM

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

于 2009-03-21T13:36:51.707 回答
0

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

于 2009-03-27T17:55:28.183 回答