我的bundle定义了一个接口,以及一个使用这个接口实现来回调它们的组件(如果有的话......)。
一个很好的类比是LogService;如果存在一个(或多个),则使用该消息调用它们。
这是我的DS声明:
@Reference(cardinality= ReferenceCardinality.MULTIPLE,
policy = ReferencePolicy.DYNAMIC,
service = ITestResultsParserService.class)
public void bindTestResultsParser(ITestResultsParserService parser) {
testResultsParserServices.add(parser);
}
public void unbindTestResultsParser(ITestResultsParserService parser) {
testResultsParserServices.remove(parser);
}
所以我希望我的捆绑包能够部署或不使用该服务实现。
然而,这是日食给我的:
为什么呢?这根本不是必需的!这显然是可选的。
我发现this ticket似乎在谈论这个问题,但不明白为什么它已被关闭。我把它添加到我的bnd.bnd,如票证中所述:
-resolve.effective:active; skip:=“osgi.service”
答案 0 :(得分:0)
由于这是一个已修复的错误,而不是一个可能的答案的问题,我正在关闭它。