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)