I have 3 OSGi bundles in such as way, implemented class is of same name but in different bundles :
Bundle A (com.adobe) ---- Interface ( foo() )
Bundle B (org.custom) ---- ChildClassA ( foo() {} )
Bundle C (myprj.adobe) ---- ChildClassA ( foo() {} )
I have a snippet as below :
Interface refObj;
refObj.foo();
How can i inject the object of specific implemented class from another bundle.
Thanks,
If you have different services that implement the same interface then you can add properties to the services.
On the client side you can use a reference with a target.
@Reference(target="(key=value)")
This reference will only match a service with a property "key" that has the value "value".