java - OSGi - should I create service tracker for every bundle? -
i have 10 bundles (a,b,c..). , in bundle want create service tracker track services implement interface. these osgi services can in bundle (a,b,c..). thought should create 1 service tracker , start it. however, confuses me it's necessary pass reference bundlecontext constructor (of bundle???)
public class myservicetracker extends servicetracker{ public myservicetracker(bundlecontext context){ super(context, someinterface.class.getname(), null); open(); } .... }
and in javadoc says (about constructor)
context - bundlecontext against tracking done.
the question - why should pass bundlecontext, bundlecontext should pass or should create instance of tracker every bundle (a,b,c..)?
each bundle uses service need own servicetracker. servicetracker use bundle's context find , bind services. not want use context of bundle track services bundle since many things not work such service hooks since services appear used 1 bundle context used servicetracker.
better yet, don't use servicetrackers @ all. use declarative services!
Comments
Post a Comment