3

我正在试验 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)

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

谢谢!

4

2 回答 2

3

目前我不建议使用 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(尽管它可以工作)。

于 2013-05-30T16:59:53.237 回答
0

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

于 2013-05-30T16:28:53.060 回答