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.

Reply via email to