The installation order is not really relevent, what is important is the startup order. Once the list of bundles has been computed, the features service does the following: #1: stop bundles that needs to be updated or uninstalled in order #2: uninstall needed bundles #3: update regions #4: update bundles #5: install bundles #6: save state #7: install configuration #8: refresh bundles #9: start bundles in order #10: send events
For point #9, bundles are split in multiple sets according to their their order, and in each set, they are sorted in a way that will try to ensure the bundles are correctly and fully resolved (see FELIX-2949, because Felix resolver is not greedy). What's the problem you're trying to solve exactly ? 2016-08-26 13:56 GMT+02:00 James Carman <[email protected]>: > Wonderful. Something needs to be done about that, then. > > On Fri, Aug 26, 2016 at 7:55 AM Guillaume Nodet <[email protected]> wrote: > >> No, that's true for 2.x and 3.x. >> 4.x converts the feature list to a list of requirements, builds >> resources, launch the OSGi resolver, check the current state and apply the >> difference. >> >> >> 2016-08-26 13:52 GMT+02:00 James Carman <[email protected]>: >> >>> It iterates through what you hand it, doesn't it? >>> >>> On Fri, Aug 26, 2016 at 7:50 AM Guillaume Nodet <[email protected]> >>> wrote: >>> >>>> Yeah, BootFeaturesInstaller keeps the order and pass a LinkedHashSet to >>>> the FeaturesServiceImpl, but that one does not care about the order by >>>> design. >>>> >>>> >>>> 2016-08-26 13:46 GMT+02:00 James Carman <[email protected]>: >>>> >>>>> We change the code to use a list ordered set, so the order is >>>>> preserved. It has been applied to all branches >>>>> >>>>> On Fri, Aug 26, 2016 at 7:45 AM Guillaume Nodet <[email protected]> >>>>> wrote: >>>>> >>>>>> Afaik karaf-4642 only really applies to 3.x unless you use stages >>>>>> with one feature per stage. >>>>>> Features in a single stage are installed all at once, so the order is >>>>>> lost. >>>>>> A simple proof is to look at the list of bundles installed with a >>>>>> bare karaf 4.x install : the order of the installed bundles is unrelated >>>>>> to >>>>>> the order of the features listed in the configuration, that's because a >>>>>> single stage is used. >>>>>> >>>>>> 2016-08-26 13:14 GMT+02:00 James Carman <[email protected]>: >>>>>> >>>>>>> That's not entirely true. The featuresBoot ordering has been fixed >>>>>>> by >>>>>>> karaf-4642. >>>>>>> >>>>>>> On Fri, Aug 26, 2016 at 3:42 AM Guillaume Nodet <[email protected]> >>>>>>> wrote: >>>>>>> >>>>>>>> The only way to influence the start order of bundles is to specify >>>>>>>> the start level on the feature or on the feature's bundles using the >>>>>>>> start-level attribute (see https://github.com/apache/ >>>>>>>> karaf/blob/karaf-4.0.x/assemblies/features/standard/ >>>>>>>> src/main/feature/feature.xml for some examples). >>>>>>>> >>>>>>>> In Karaf 4.x, the features are resolved and installed in a single >>>>>>>> pass, so the order is lost. >>>>>>>> >>>>>>>> 2016-08-26 4:58 GMT+02:00 oski_bear <[email protected]>: >>>>>>>> >>>>>>>>> Hello, I'm a long-time user of Karaf 2.4.0 trying to migrate my >>>>>>>>> application >>>>>>>>> to Karaf 4.0.5. One thing I've noticed is that in this new version >>>>>>>>> of Karaf >>>>>>>>> there doesn't seem to be any way to specify the order in which >>>>>>>>> bundles are >>>>>>>>> ordered. >>>>>>>>> >>>>>>>>> For example, if I specify "bootFeatures" in the karaf-maven-plugin >>>>>>>>> they >>>>>>>>> don't start in the order that I list them. Additionally, when I >>>>>>>>> create my >>>>>>>>> own features they don't load in the order they are written and the >>>>>>>>> container >>>>>>>>> does not seem to respect the start levels. >>>>>>>>> >>>>>>>>> Am I missing something here? Is there a way to enforce a certain >>>>>>>>> order in >>>>>>>>> the boot features with the karaf-maven-plugin? Is there a way to >>>>>>>>> force an >>>>>>>>> order when defining a feature? >>>>>>>>> >>>>>>>>> Please help me understand. >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> View this message in context: http://karaf.922171.n3.nabble. >>>>>>>>> com/Karaf-4-0-5-bundle-startup-order-tp4047689.html >>>>>>>>> Sent from the Karaf - User mailing list archive at Nabble.com. >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> ------------------------ >>>>>>>> Guillaume Nodet >>>>>>>> ------------------------ >>>>>>>> Red Hat, Open Source Integration >>>>>>>> >>>>>>>> Email: [email protected] >>>>>>>> Web: http://fusesource.com >>>>>>>> Blog: http://gnodet.blogspot.com/ >>>>>>>> >>>>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> ------------------------ >>>>>> Guillaume Nodet >>>>>> ------------------------ >>>>>> Red Hat, Open Source Integration >>>>>> >>>>>> Email: [email protected] >>>>>> Web: http://fusesource.com >>>>>> Blog: http://gnodet.blogspot.com/ >>>>>> >>>>>> >>>> >>>> >>>> -- >>>> ------------------------ >>>> Guillaume Nodet >>>> ------------------------ >>>> Red Hat, Open Source Integration >>>> >>>> Email: [email protected] >>>> Web: http://fusesource.com >>>> Blog: http://gnodet.blogspot.com/ >>>> >>>> >> >> >> -- >> ------------------------ >> Guillaume Nodet >> ------------------------ >> Red Hat, Open Source Integration >> >> Email: [email protected] >> Web: http://fusesource.com >> Blog: http://gnodet.blogspot.com/ >> >> -- ------------------------ Guillaume Nodet ------------------------ Red Hat, Open Source Integration Email: [email protected] Web: http://fusesource.com Blog: http://gnodet.blogspot.com/
