[
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: 3.0.0)
3.0.1
> 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.1, 2.3.4
>
> 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.1#6144)