Hi there,
I define a osgi bundle A, and the second osgi bundle B, now a method in the A need to call another mothod defined in the B.
private BService getBService() { BundleContext ctx = FrameworkUtil.getBundle(this.getClass()) .getBundleContext(); ServiceReference serviceReference = ctx .getServiceReference(BService.class.getName()); return BService.class.cast(ctx.getService(serviceReference)); }
In general, if bundle A want to get B instance, developer could use above code. But the question is how to make compile A bundle class successfully? because A can't reference class BService.
Thanks a lot.
Br,
Brian
Solved! Go to Solution.
Views
Replies
Total Likes
Views
Replies
Total Likes
You should add the B bundle as a dependency to A bundles pom file
Views
Replies
Total Likes
In the pom.xml of Bundle A, add
<dependency> <groupId>[GroupId of Bundle B as mentioned in its pom.xml]</groupId> <artifactId>[ArtifactId of Bundle B]</artifactId> <version>[Version of Bundle B]</version> </dependency>
Views
Replies
Total Likes
Hi,
BService must be exported by Bundle B.
kind regards,
Jörg
Views
Replies
Total Likes