Hi Richard, do you start your bundles as part of features ? Or directly in etc/startup.properties (or by hand) ?
Regards JB On 13/08/2018 13:57, Richard Hierlmeier wrote: > I have to migrate an application to Karaf 4. This application has it's > own service infrastructure (full qualified names of the implementation > classes are defined in text file in META-INF/myServices.txt). > > The modules of application have uses an handmade lookup mechanism to > find instances of the services. > In Karaf 3 we implemented a bundle activator that reads a bundle start > the services from the META-INF/myServices.txt and registers the services > instances in the handmade lookup. > > It worked fine in Karaf 3. > When migrating to Karaf 4 this mechanism is no longer working. It seems > that the start order of the bundles has been improved. > The following scenario is no longer working: > > interface of service S1 is defined in bundle B1 > implementation of services S1 is in bundle B2 > Bundle B3 uses service S1. > Bundle B3 does not use directly use a package of bundle B2. > > It happens Karaf 4 that bundle B3 starts before bundle B2. > > One possibility would be to register all "handmade" services as OSGI > services and the hand made lookup looks also for OSGI services. > However I am afraid that we get unwanted side effects because up to now > the handmade service infrastructure and the OSGI service > very strictly divided. > > Is it possible to solve the problem with Require-/Provide Capabilities > Header in the OSGI manifiest? > > Is it in Karaf 4 possible to define a custom management agent that > influences the start level of OSGI bundles? > > Richard -- Jean-Baptiste Onofré [email protected] http://blog.nanthrax.net Talend - http://www.talend.com
