首页 > 解决方案 > SCR 到 OSGi R6 注释问题

问题描述

我正在将一些基于 SCR 注释的代码库迁移到 OSGi R6。

当前代码使用 R6 中不可用的 scr 注释和字段。

例如:@references 并且referenceInterface在 R6 中不受支持

@Component
@References({
  @Reference(
  referenceInterface = SomeFactory.class,
  policy = ReferencePolicy.DYNAMIC,
  cardinality = ReferenceCardinality.OPTIONAL_MULTIPLE)
})

@Service
public class SomeResolverImpl implements SomeResolver { }

标签: osgiaemapache-felix

解决方案


OSGi R6 注释集确实有@Reference注释。请参阅 OSGi R6 纲要规范的第 112.13.8 节。或者,这里是在线 R7 规范的直接链接。

您应该将此注释放置在您希望绑定到服务引用的字段或方法上。


推荐阅读