几个月前,我读了一篇博客文章,其中比较了不同的(Java)应用程序服务器,重点关注在部署新的/更改的代码段后启动/重新启动服务器所需的时间,并讨论了丢失的代码所有这些重新启动都会导致开发人员生产力提高。
我忘记为博客文章添加书签;我试过谷歌,但找不到原文。
还有其他人看过/读过这篇文章,或者有类似文章/统计数据的链接吗?
我认为您正在寻找来自 JavaRebel JRebel 人员的“调查结果:Java EE 容器 – 天堂还是地狱?”。
有很多关于此的文章,因此很难具体知道您指的是哪一篇。
话虽如此,这实际上取决于技术堆栈。如果您想要完整的 J2EE 实现而不是仅仅 J2EE 容器,那么启动时间将会非常不同。
例如Tomcat可以秒级启动。在我的机器上大约需要 1-2 秒。当然这是一个J2EE容器。它不包括 EJB 等功能。但如今,谁真正需要那个。
像 JBoss 和 Weblogic 这样的完整 J2EE 实现将需要更长的服务器启动时间。一般在半分钟到几分钟左右。
再次强调,您确实需要准确决定您想要 J2EE 堆栈的哪一部分,如果您不打算完全使用它,那么 Tomcat 非常适合快速启动。
同样,即使您使用 Tomcat 进行开发,并不意味着您需要将其用于生产。这并不是说它不是一个好的生产服务器,它只是更轻量级。
让我们从这样的想法开始:应用程序应该仅以完整的形式部署以进行集成测试。这种情况一天可能会发生两次。在所有其他时间进行单元和本地集成测试(即使用实际数据库连接进行 JUnit 测试),这些测试的启动时间几乎为零。
我的开发活动是这样的:
在这样的时间分配中,AS 启动时间并不会占用我太多的性能。
因此,与其抱怨 AS,不如首先努力组织开发流程。