[ 
https://issues.apache.org/jira/browse/KARAF-1894?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jean-Baptiste Onofré updated KARAF-1894:
----------------------------------------

    Fix Version/s:     (was: 2.3.5)
                       (was: 3.0.1)
                   2.3.6
                   3.0.2

> Framework's active start level is set to 
> org.osgi.framework.startlevel.beginning too early when launching Karaf with 
> empty bundle cache
> ---------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: KARAF-1894
>                 URL: https://issues.apache.org/jira/browse/KARAF-1894
>             Project: Karaf
>          Issue Type: Bug
>    Affects Versions: 2.2.9, 3.0.0
>         Environment: Mac 10.8.2/Oracle JDK 1.6.0_35
>            Reporter: Jason Montojo
>            Assignee: Jean-Baptiste Onofré
>             Fix For: 2.2.12, 2.4.0, 3.0.2, 2.3.6
>
>         Attachments: slbug.tar-3.0.gz, slbug.tar.gz
>
>
> When launching Karaf 2.2.9 with an empty bundle cache, the framework's active 
> start level is already set to org.osgi.framework.startlevel.beginning before 
> all the boot features have been started.  The impact is that bundles can be 
> loaded in the wrong order, and File Install ends up scanning the deploy 
> folder when it's not supposed to.
> This is problematic because we're using boot features to load up our core 
> infrastructure and the deploy folder to host plugins.  If we prepackage any 
> plugins with our product with an empty bundle cache, the plugins get 
> installed and started before the core.
> The attached tarball contains a set of 3 bundles that reproduce the symptoms. 
>  Simply untar within the apache-karaf-2.2.9 directory.
> In the test tarball, there are 3 bundles that do the same thing.  When 
> start() is called, they print out their name and the framework's current 
> start level, then wait for 1 second.
> bundle1 (start-level=60) and bundle2 (start-level=80) are part of a boot 
> feature.  However, bundle2 is listed first in the XML.  bundle3 is in the 
> deploy directory.  File Install is configured so that it doesn't scan until 
> start level 81 (via felix.fileinstall.active.level).
> I'm expecting that the bundles are loaded in this order: bundle1, bundle2, 
> bundle3.
> If I clear the bundle cache and start Karaf, I get the following output:
> [bundle2] 100
> [bundle3] 100
> [bundle1] 100
> This indicates that when bundle2's start() is called, the framework's start 
> level is already set to org.osgi.framework.startlevel.beginning (in this 
> case, 100) before the boot features have started.
> If I run Karaf again without clearing the bundle cache, I get the following:
> [bundle1] 60
> [bundle2] 80
> [bundle3] 80
> This is better, but felix.fileinstall.active.level is set to 81, so bundle3 
> should not be starting at start level 80.  This is probably a separate issue.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to