我如何在osgi中至少要求一个api接口的实现?
例如,我有一个使用另一个组件的@Component YellowBlock(在这种情况下为Map):@Component
public class YellowBlock implements BlockProvider {
@Reference
public void setMap(Map map){
当没有其他组件实现Map接口时,我的osgi容器中的这个组件永远不会“上线”(ServiceTracker无法看到)。例如这一个:
@Component
public class MapImpl implements Map{
如果我手动将这个添加到容器中,则YellowBlock组件“上线”。
[edit]我的基数似乎是正确的:基数=“1..1”。我还发现了一些关于@reference注释超时的讨论,但在那个上找不到多少。
答案 0 :(得分:2)
问题回答了自己。
您问“我怎么才能要求至少一个特定API接口的实现”,然后您的示例代码就是这样。