Use OSGi start levels in jcrinstall, to better control bundles start/stop
-------------------------------------------------------------------------

                 Key: SLING-747
                 URL: https://issues.apache.org/jira/browse/SLING-747
             Project: Sling
          Issue Type: Improvement
          Components: JCR Install
            Reporter: Bertrand Delacretaz


As discussed in http://markmail.org/message/ofr5vi6jcvieqaav :

1. The jcrinstall bundle is installed with a low start level (say 20), lower 
than that of "application bundles"

2. Bundles installed by jcrinstall are set to a higher start level (say 50), 
configurable in the jcrinstall service.

3. All initial bundle install/remove/update calls made by jcrinstall happen in 
its activate() method

The goal is to make sure all bundle operations made by jcrinstall happen before 
any of the bundles that it installs actually start - that should help make the 
startup sequence more predictable.

Furthermore:

4. If the repository service goes away, jcrinstall brings the OSGi framework's 
current start level down to its own start level (20 in our
example), and if possible (how?) makes sure all services that were started at 
higher levels are stopped.

5. When the repository service comes back, the 1/2/3 rules above apply, to make 
sure all bundle operations happen before bundles
installed by jcrinstall are started.

6. Once this is done, jcrinstall tells the OSGi framework to return to the 
start level that was current before 4.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to