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/

Reply via email to