【问题标题】:What is the difference between weld-osgi, pax-cdi and fighterfishweld-osgi、pax-cdi 和 fighterfish 有什么区别
【发布时间】:2015-08-06 22:51:27
【问题描述】:

据我了解,这 3 个项目是 CDI 和 OSGI 之间的链接,但它们之间有什么区别?

【问题讨论】:

    标签: java osgi cdi jboss-weld pax


    【解决方案1】:

    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 参考手册现在建议在 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 项目负责人。

    【讨论】:

    • 谢谢!你回答了我的三个问题!
    猜你喜欢
    • 2012-02-11
    • 2011-02-05
    • 1970-01-01
    • 1970-01-01
    • 2023-04-08
    • 2013-12-01
    • 2019-04-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多