Fragment bundles not loaded after second start when using autodeploy
--------------------------------------------------------------------
Key: FELIX-2177
URL: https://issues.apache.org/jira/browse/FELIX-2177
Project: Felix
Issue Type: Bug
Components: Main
Affects Versions: felix-2.0.3
Environment: JDK 6, Linux. felix-framework 2.0.3, felix-main 2.0.2.
Reporter: Jesse Glick
After http://hg.netbeans.org/core-main/rev/6a05c30c5d0b, I can translate a
NetBeans module suite to OSGi bundles and load them including
branding/localization using fragment bundles. For example, with NetBeans'
"FeedReader" demo app, org.netbeans.core.startup-*.jar contains a manifest
Bundle-SymbolicName: org.netbeans.core.startup
....
and a resource org/netbeans/core/startup/splash.gif, whereas
core_feedreader.jar contains a manifest
Bundle-SymbolicName: org.netbeans.core.startup-branding
Fragment-Host: org.netbeans.core.startup
and a resource org/netbeans/core/startup/splash_feedreader.gif providing
branding (akin to localization). At runtime,
Bundle.getResource("org/netbeans/core/startup/splash_feedreader.gif") is called
before Bundle.getResource("org/netbeans/core/startup/splash.gif") to permit the
branding override.
This all works fine when I create a directory of bundles and launch Felix using
-b on that directory, an empty cache dir, and
felix.auto.deploy.action=uninstall,install,update,start.
But when I launch Felix again using the same cache dir (without first deleting
its contents), none of the resources from the fragment bundles seem to be
available. If I delete the bundle* subdirs of the cache dir - even just the
subdirs corresponding to the fragments - before starting Felix then it works,
so the problem is really with the bundle cache (as opposed to some problem with
the application's own settings).
Debug printlns show the fragment bundle in state RESOLVED on the first start,
INSTALLED thereafter.
Appending ";fragment-attachment=resolve-time" to the Bundle-SymbolicName of all
(non-fragment) bundles in the directory does not have any effect.
AutoProcessor handling AUTO_DEPLOY_START_VALUE skips fragment bundles, since
start() would be illegal on them. But why aren't they resolved as a consequence
of their hosts being resolved and started?
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.