Java - 参考实现与3d party供应商提供的实现

时间:2009-08-28 19:06:42

标签: java java-ee implementation specifications vendors

处理Java - 在大多数情况下你喜欢的选项 - 引用impl。某些技术或其他技术,由任何其他供应商提供?

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

有人有自己的规则(除了纯粹的成本:)),哪个更受欢迎?

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

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

2)三维聚会供应商解决方案通常更加“完成”并且面向终端程序员,就像包含的任何其他可用功能/实用程序一样(不属于规范)。

2 个答案:

答案 0 :(得分:1)

更多要点:

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

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

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

更新:对于Java EE 6和即将到来的7,图片会发生变化。还有完全标准的开源实现(比如TomEE for Java EE6)和glassfish似乎为Java EE 7提供了一个可用的RI,这是早期采用者唯一的。

答案 1 :(得分:1)

这里没有关于“参考实施”与其他实施的“规则” - 您可以获得所需的要求/偏好/金钱,并将其与每个可用选项的功能/成本进行比较。

很长一段时间,Tomcat servlet规范RI。很长一段时间,EJB RI都是一个笑话 - 没有人真正使用它。 J2EE整体上没有“参考实现”。

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

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

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