weld-osgi,pax-cdi和fighterfish有什么区别

时间:2015-05-25 12:41:28

标签: java osgi cdi jboss-weld pax

据我所知,这3个项目是CDI和OSGI之间的联系,但它们之间有什么区别?

1 个答案:

答案 0 :(得分:3)

FighterFish允许您将OSGi服务注入CDI bean,但它不允许您将CDI bean作为OSGi服务发布。

Weld OSGi是Weld for OSGi的一个(现已过时)扩展,需要修改版本的Weld 1.x. (1.2.0.Beta1)

Weld 2.1及更高版本包含一些源自Weld OSGi的修改,它通过并行支持多个CDI容器使Weld核心更加OSGi友好,独立于线程上下文类加载器。

Weld Reference手册现在建议在OSGi环境中使用Pax CDI。

Pax CDI支持OSGi服务的注入注册。它与任何给定的CDI实现无关(与Weld OSGi不同),目前支持Weld 2.2.x和OpenWebBeans 1.5.0。

从概念上讲,Pax CDI或多或少是FighterFish CDI和Weld OSGi的超集,即对于大多数FighterFish和Weld OSGi功能,您可以在Pax CDI中找到相应的解决方案。

在某个时候,Pax CDI计划成为OSGi企业专家组指定的CDI服务的官方参考实施。由于此规范工作目前停滞不前(据我们所知),现在不再是这种情况了,Pax CDI项目现在正遵循自己的路线图。

免责声明:我是Pax CDI项目负责人。