我正在将一些基于SCR注释的代码库迁移到OSGi R6。
当前代码使用 scr 注释和字段,这些在 R6 中不可用。
例如:R6 不支持@references
和referenceInterface
@Component
@References({
@Reference(
referenceInterface = SomeFactory.class,
policy = ReferencePolicy.DYNAMIC,
cardinality = ReferenceCardinality.OPTIONAL_MULTIPLE)
})
@Service
public class SomeResolverImpl implements SomeResolver { }
OSGi R6 注释集确实有一个@Reference
注释。请参阅 OSGi R6 纲要规范的第 112.13.8 节。或者,这里是在线 R7 规范的直接链接。
应将此批注放在要绑定到服务引用的字段或方法上。