osgi - 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 { }
解决方案
OSGi R6 注释集确实有@Reference
注释。请参阅 OSGi R6 纲要规范的第 112.13.8 节。或者,这里是在线 R7 规范的直接链接。
您应该将此注释放置在您希望绑定到服务引用的字段或方法上。
推荐阅读
- ruby-on-rails - 使用嵌套数据调用 API,得到“TypeError:没有将 String 隐式转换为 Integer”
- google-cloud-platform - Google Cloud 警报政策 - 在文档正文中包含错误消息
- c# - 为不同的平台、架构和 .net 版本创建 Nuget 包
- regex - 红宝石正则表达式。限制最小和最大字符串长度
- firebase - Firestore Stream 已关闭,状态为 UNAVAILABLE
- android - Android - 为 expresso 测试引用多个模块变体
- html - 固定宽度的 CSS 水平菜单将附加项目推入下拉菜单
- google-cloud-platform - 在 Google Cloud 中创建 Anthos 的 Terraform 代码
- android - 在 Android 上迁移到 gradle kotlin dls 时出现 protobuf 问题
- python - 为什么当我将 df 与附加列分组时,聚合不起作用?