Вызов метода подкласса из родительской ссылки - PullRequest
4 голосов
/ 01 июля 2019

У меня есть 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 Ответ

5 голосов
/ 02 июля 2019

Если у вас есть разные сервисы, реализующие один и тот же интерфейс, вы можете добавить свойства к сервисам .

. На стороне клиента вы можете использовать ссылку с целью.

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

Эта ссылка будет сопоставлять только службу со свойством "ключ", имеющим значение "значение".

...