Chetan Mehrotra created SLING-3386:
--------------------------------------

             Summary: Enable support starting bundle in custom oreder at start 
level 1
                 Key: SLING-3386
                 URL: https://issues.apache.org/jira/browse/SLING-3386
             Project: Sling
          Issue Type: Improvement
          Components: Launchpad
    Affects Versions: Launchpad Base 2.5.0
            Reporter: Chetan Mehrotra
            Priority: Minor


By default OSGi framework does not define the order in which bundles would be 
started in a given start level. The only way is to use to use start level.

However in case of bundle like Logging its desriable that Log bundle is the 
first bundle to start in the system such that it does not miss any log message. 
The problem is described in more details at SLING-3340.

As Sling uses Felix framework by default it is possible to control the start 
order by controlling the order in which bundles are installed on the framework. 
As per current Felix Framework implementation [1] bundle within same start 
level are started in the order of bundleId.

The way patch works is

1. Bundle which start at start level 1 can define a header 
'X-Sling-Start-Order' to provide a start order hint. Lower the level then 
earlier the bundle would be started
2. BootstrapInstaller would sort the files obtained from directly listing based 
on this header. 
3. Sorted list would be used to install the bundles

I understand that this is a very much implementation specific fix and might not 
work if Felix changes the internal logic. But then the feature is meant to be 
used in best effort basis!!.

[1] 
https://github.com/apache/felix/blob/trunk/framework/src/main/java/org/apache/felix/framework/Felix.java#L4873





--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Reply via email to