You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Richard S. Hall (JIRA)" <ji...@apache.org> on 2010/06/06 23:38:52 UTC

[jira] Updated: (FELIX-2177) Fragment bundles not loaded after second start when using autodeploy

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

Richard S. Hall updated FELIX-2177:
-----------------------------------

    Component/s: Framework
                     (was: Main)

> 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: Framework
>    Affects Versions: framework-2.0.3
>         Environment: JDK 6, Linux. felix-framework 2.0.3, felix-main 2.0.2.
>            Reporter: Jesse Glick
>            Assignee: Richard S. Hall
>             Fix For: framework-3.0.0
>
>
> 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.