【问题标题】:How to use OSGI with CDI in jboss?如何在 jboss 中使用 OSGI 和 CDI?
【发布时间】:2013-05-25 15:24:40
【问题描述】:

我正在试验 OSGI 和 CDI。我想使用 CDI 注释注册我的 OSGI 服务,并使用 CDI 检索注册的 OSGI 服务。

我发现了以下内容:https://github.com/mathieuancelin/weld-osgi,它似乎已集成到焊芯中。但是当我依赖焊接核心 1.2.0.Beta1 或 2.0.0.Final 版本时,我没有找到https://github.com/mathieuancelin/weld-osgi 文档中指定的任何注释。

当您想将 OSGI 与 CDI 一起使用时,这就是 Weld-osgi 的方法吗?还是我应该使用弹簧? (我更喜欢weld,因为我的AS目前是jboss EAP 6.1)

在哪个依赖项中可以找到文档中指定的注解?

谢谢!

【问题讨论】:

    标签: osgi cdi jboss-weld jboss-eap-6


    【解决方案1】:

    我还没有研究过它,而且我对weld-osgi 知之甚少,但是如果你想让OSGi 和CDI 很好地发挥作用,你应该使用它。我很确定它们是单独的 jar,您需要将weld-osgi 依赖项添加到您的项目中。

    【讨论】:

      【解决方案2】:

      目前我不建议使用 CDI 来处理 OSGi 服务。 Weld-OSGi 库仍处于试验阶段,很可能会在 OSGi-CDI 规范发布时发生变化。

      目前,企业 OSGi 专家组正在编写新规范 OSGi-CDI (RFC 193)(我是编写此规范的成员之一)。 OSGi-CDI 计划在明年初成为 Enterprise OSGi R6 的一部分。不幸的是,现在开始使用它还为时过早,参考实现还远未完成。关于即将到来的规范的更多细节可以在我今年在 EclipseCon 上的演讲中找到:https://speakerdeck.com/paulbakker/rfc-193-osgi-cdi

      我强烈建议使用可用于 OSGi 服务的其他依赖注入解决方案之一,最好是 Apache Felix 依赖管理器或动态服务。因为这两个库都直接构建在 OSGi 服务 API 上,所以您不必拖入其他依赖项。编程模型与 CDI 明显不同,但概念非常相似,所以应该很容易上手。

      也不要使用 Spring,因为它不太适合 OSGi(尽管它可以工作)。

      【讨论】:

        猜你喜欢
        • 2012-02-14
        • 1970-01-01
        • 2014-03-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多