Jakarta ee JavaEE6CDI实现之间的差异

Jakarta ee JavaEE6CDI实现之间的差异,jakarta-ee,java-ee-6,resin,cdi,jboss-weld,Jakarta Ee,Java Ee 6,Resin,Cdi,Jboss Weld,我看过JBoss的JSR-299上下文和依赖项注入的Weld参考实现,我想知道其他CDI实现之间的比较。 具体来说,我了解Weld、Resin CanDI(由Caucho编写)和ApacheOpenWebBeans 目前它们没有进行比较。我怀疑它们有没有被用于生产,它们太新鲜了 Weld应该是参考实现,因为它是与规范负责人Gavin King(来自JBoss)密切合作开发的 就我个人而言,我更喜欢OpenWebBeans,因为它的代码更简洁,但在使用它时这并不重要 主角简介: Weld是RI

我看过JBoss的JSR-299上下文和依赖项注入的Weld参考实现,我想知道其他CDI实现之间的比较。
具体来说,我了解Weld、Resin CanDI(由Caucho编写)和ApacheOpenWebBeans

目前它们没有进行比较。我怀疑它们有没有被用于生产,它们太新鲜了

  • Weld应该是参考实现,因为它是与规范负责人Gavin King(来自JBoss)密切合作开发的
  • 就我个人而言,我更喜欢OpenWebBeans,因为它的代码更简洁,但在使用它时这并不重要

主角简介:

  • Weld是RI(只有一个RI),1.0版已经发布,它内置于GlassFish v3和即将推出的JBoss作为EE 6,但也可以与一起使用(有一些限制)
  • OpenWebBeans仍在开发中,1.0.0版计划于2010年4月底发布
  • Caucho CanDI似乎与树脂有关(我在这里可能是错的,但我在他们的网站上找不到任何明确的相反证据,这是不好的)
因此,如果在撰写本文时我必须选择一个实现,我会选择RI(即Weld),因为它已经准备好,可以“独立”使用(准备好并不意味着它已经被广泛使用)

如果您正在寻找一些性能比较(您还想比较什么?),我认为您目前不会找到这样的基准


无论如何,如果你想使用CDI,就去做吧。

我会说相反;)但是,这两个项目都是优秀的工具,都配备了不同的应用服务器。关键是两者都遵循Java EE规范,并在编程灵活性和重用性方面提供难以置信的能力。

实际上,我已经在一个真正生产性的政府项目中使用OpenWebBeans,以及一个成熟的EE6 Web概要环境。但我不会告诉你在哪里,所以它不能被删除;)(顺便说一句,大多数EE-6部件,如EL-2.2集成,目前需要大量小补丁和调整才能开始运行,但看起来确实很有希望!)

事实上,Weld和OpenWebBeans社区经常相互交流,所以每当我们遇到规范中没有明确列出的东西时,我们都会尝试讨论出来。由于涉及的Caucho人Ferg和Reza都被简单地称为java之神,我打赌他们的实现也非常好;)

至于OpenWebBeans:我们目前正在准备一个Milestone4版本,应该在下周发布。 openwebbeans impl又名“owb核心”,几乎没有任何依赖项! 所有“较重”的依赖项都由插件处理,如果可用,插件会自动从类路径中获取。当涉及到与其他EE部分交互时,它们涵盖了规范的某些部分。例如,有像openwebbeans jsf、openwebbeans jms、openwebbeans资源(处理EE资源+JPA)等插件

顺便说一句:不要错过编写自己的便携设备的简单方法!CDI扩展

要获得第一个想法,您可以查看 Seam3:anonsvn.jboss.org/repos/seam/modules/ 当然 Apache MyFaces CODI:github.com/struberg/MyFaces-ext-cdi (将很快迁移到Apache MyFaces SVN)

利格鲁,
strub

就CDI规范而言,我希望RIs之间不会有任何功能差异。
查看这篇文章:

既然OWB和WELD都有点成熟,那么您现在对OWB和WELD有什么看法。我听说OWB更快?我怎么想?是的,OWB更快。有一些基准。它也更具可扩展性。既然OWB和WELD都有点成熟,那么您现在对OWB和WELD的看法是什么呢。我听说OWB更快?我怎么想?一个小的更新。与此同时,Apache MyFaces CODI也达到了1.0.0。更多信息可在官方网站上找到: