1

处理 Java - 在大多数情况下您更喜欢的选项 - 参考 impl。由任何其他供应商提供的某种技术或另一种技术?

一些例子——有 Glassfish 服务器,它基本上是 Java EE 的官方参考实现。但是,我真的很少看到人们使用它。Jboss,一些与 Apache 相关的免费项目(如 JMS 的 Apache ActiveMQ)、WebLogic、WebSphere...

有人有什么自己的规则(纯成本除外:)),什么更可取?

我确实在这里看到了两个相反的观点:

1) RI 正在更快地获得新功能和新版本的规范。

2) 3-d 方供应商解决方案通常更“完整”且面向最终程序员,就像包含的任何其他可用功能/实用程序(不属于规范的一部分)一样。

4

2 回答 2

1

还有几点:

3) 与其他工具的集成通常更适合第 3 方(例如 apache http 服务器和 tomcat servlet 容器)

4) RI 包含所有功能,第 3 方通常只包含广泛有用的功能。该软件不太复杂,有时更方便,性能更好。

5) RI 处于领先地位。对于生产服务器,当不需要最新功能时,更老的实现(大多数“Java EE”应用程序在 Tomcat 5.5 - 2.4 servlet 容器上工作 - 我相信)

更新:对于 Java EE 6 和即将推出的 7,情况发生了变化。还有完整的标准开源实现(如用于 Java EE6 的 TomEE),并且 glassfish 似乎为 Java EE 7 提供了一个可用的 RI,这是唯一适合早期采用者的 RI。

于 2009-08-28T19:25:20.570 回答
1

这里实际上没有关于“参考实现”与另一个实现的“规则” - 你将你拥有的要求/偏好/金钱与每个可用选项的功能/成本进行比较。

很长一段时间,Tomcat都是servlet 规范的 RI。很长一段时间以来,EJB RI 都是一个笑话——实际上没有人使用它。并且整个 J2EE 没有“参考实现”。

大多数人使用其他服务器的原因是因为长期以来 Weblogic 和 Websphere 是唯一的(现实的)实现,所以开始使用 J2EE 的项目/人会更适应它们。JBoss 是第一个成功的开源 J2EE 应用服务器 - 所以喜欢开源(或只是想要一个免费的应用服务器)的人非常受限于这个选项 - 再一次 - 这些人会更喜欢他们所知道的。

但是,目前 GlassFish 与其他开源/商业 Java EE 应用程序服务器相当。它使用 Tomcat 作为它的 servlet 引擎——并且非常模块化,因此您可以取出不需要的部分。

影响这一点的另一件事是开发人员从“重量级”J2EE 规范迁移到“轻量级”开源解决方案,例如 Hibernate 和 Spring(一旦它们可用),并且仅在没有完整的 servlet 容器(通常是 Tomcat)中运行 -吹的应用服务器。

于 2009-08-29T11:00:21.610 回答