2

几个月前,我阅读了一篇博客文章,其中比较了不同的 (Java) 应用程序服务器,重点关注在部署新/更改的代码后启动/重新启动服务器所花费的时间,以及对丢失的开发人员的讨论所有这些重新启动导致的生产力。

我忘记为博客文章添加书签了;我试过谷歌,但我找不到原始文章。

有没有其他人看过/读过这篇文章,或者有类似文章/统计的链接?

4

3 回答 3

5

我认为您正在寻找来自JavaRebel JRebel 人员的“调查结果:Java EE 容器 – 天堂还是地狱? ”。

于 2009-09-21T16:50:17.943 回答
1

有很多关于这个的文章,所以很难知道你具体指的是哪一篇。

话虽如此,这实际上取决于技术堆栈。如果您想要一个完整的 J2EE 实现而不是一个 J2EE 容器,那么启动时间将会非常不同。

例如,Tomcat 可以在几秒钟内启动。在我的机器上大约 1-2 秒。当然,这是一个 J2EE 容器。它不包括诸如 EJB 之类的特性。但是这些天来,谁真正需要它。

例如,像 JBoss 和 Weblogic 这样的完整 J2EE 实现将需要更长的服务器启动时间。一般在半分钟到几分钟。

同样,您确实需要确切地确定您想要 J2EE 堆栈的哪一部分,如果您不打算完全使用它,那么 Tomcat 非常适合快速启动。

同样,即使您使用 Tomcat 进行开发,也不意味着您需要将其用于生产。这并不是说它不是一个好的生产服务器,它只是更轻量级。

于 2009-09-21T16:31:43.093 回答
0

让我们从这样的想法开始,即应用程序应该以完整的形式部署,仅用于集成测试。这种情况可能每天发生两次。所有其他时间您都在进行单元和本地集成测试(即使用实际数据库连接进行 JUnit 测试),并且这些测试的启动时间几乎为零。

我的开发活动是这样的:

  • 同时编写(模拟)单元测试和代码;在代码按我预期工作之前运行单元测试可能是 20 次
  • 为重大案例编写本地集成测试;在我确定没问题之前运行测试可能是 3 或 5 次
  • 打包整个应用程序并通过 UI 对场景进行一次或两次演练

在像 AS 启动时间这样的时间分配中并没有占用我太多的性能。

因此,与其抱怨 AS,不如从一开始就努力组织开发过程。

于 2009-09-21T18:33:33.723 回答