从父引用调用子类的方法

时间:2019-07-01 18:32:42

标签: java osgi aem

我有3种OSGi捆绑包,例如,实现的类具有相同的名称,但位于不同的捆绑包中:

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

我有一个如下的片段:

Interface refObj;
refObj.foo();

如何从另一个捆绑包中注入特定实现类的对象。

谢谢

1 个答案:

答案 0 :(得分:5)

如果您具有实现同一接口的不同服务,则可以add properties to the services

在客户端,您可以将引用与目标一起使用。

@Reference(target="(key=value)")

此引用将只匹配具有“值”属性“键”的服务。