从父类引用调用子类方法

4

我有三个OSGi捆绑包,实现类的名称相同,但在不同的捆绑包中:

Bundle A (com.adobe) ---- Interface ( foo() )
Bundle B (org.custom) ---- ChildClassA ( foo() {} )
Bundle C (myprj.adobe) ---- ChildClassA ( foo() {} )

我有以下代码片段:

Interface refObj;
refObj.foo();

我怎样才能从另一个包中注入特定实现类的对象。

谢谢。

1个回答

5
如果您有不同的服务实现相同的接口,那么您可以向服务添加属性
在客户端上,您可以使用具有目标的引用。 @Reference(target="(key=value)") 此引用仅匹配具有"key"属性且其值为"value"的服务。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接