Thanks Richard. It is perfect! On Tue, Jun 24, 2008 at 5:25 PM, Richard S. Hall <[EMAIL PROTECTED]> wrote: > Lucas, > > I updated the FAQ, does it make more sense now? > > http://cwiki.apache.org/confluence/display/FELIX/Apache+Felix+OSGi+FAQ#ApacheFelixOSGiFAQ-WhenIupdatemybundle%2Cwhyaremybundle%27soldclassesstillbeingused%3F > > -> richard > > Lucas Galfaso wrote: >> >> Hi, >> >> >> >>>> >>>> The standard also reads >>>> <quote> >>>> 4.3.10 Updating Bundles >>>> [...] >>>> The update process supports migration from one version of a bundle to >>>> a newer version of the same bundle. The exports of an updated bundle >>>> must be immediately available to the Framework. If none of the old >>>> exports are used, then the old exports must be removed. Otherwise, all >>>> old exports must remain available for existing bundles and future >>>> resolves until the refreshPackages method is called or the Framework >>>> is restarted. >>>> </quote> >>>> >>>> Now, this is somehow different from what >>>> >>>> http://cwiki.apache.org/FELIX/apache-felix-osgi-faq.html#ApacheFelixOSGiFAQ-ApacheFelixOSGiFrequentlyAskedQuestions >>>> reads, this may not be too bad as you may say that the wiki is just >>>> slightly incomplete. Just as I said, not Not too bad. >>>> >>> >>> Why is it incomplete? >>> >> >> The wiki reads (cut some cut&paste to make it clearer) >> >> 1. Your bundle does not export any packages. >> - The updated classes should become available immediately. >> 2. Your bundle exports some packages, but does not import those same >> packages. >> - The updated classes should become available immediately. >> - However other bundles using the exported packages from the >> updated bundle will not start using the new classes until >> PackageAdmin.refreshPackages() is called (this can be invoked in the >> Felix shell using the refresh command). >> 3. Your bundle exports some packages and also imports those same >> packages (see the importing and exporting FAQ below). >> - Neither the updated bundle nor any bundles importing packages >> from the updated bundle will see any updated classes until the >> packages are refreshed. >> >> >> >> 1. If no bundle is wired to the old module by the use of an import or >> dynamic import.* >> - The updated classes should become available immediately. >> - The old module will be removed and cannot be used to resolve a >> bundle. >> * Note: If your bundle does not export, then no bundle can create a wire >> to it. >> >> 2. There is a bundle wired to old module by the use of an import or >> dynamic import (this bundle may be the same bundle being updated). >> - Existing wires to this bundle will not start using the new >> classes until PackageAdmin.refreshPackages() is called. >> - The old module will remain and may be used to resolve a bundle >> until PackageAdmin.refreshPackages() is called. >> - New bundles and bundles that are updated may use the new or old >> module of the updated bundle. >> - All bundles using dynamic import may pick the new or old module >> of the updated bundle when creating a new wire. >> >> Is the above right? Even if the above is right, I think that using a >> simpler wording is better as a simplified interpretation of the FAQ >> may be "after you update a bundle, execute a refresh" and this is what >> 90% of the users want to know. >> >> >> >>>> >>>> Now, the issue is that using the Felix IModule naming, would it be >>>> correct to say that the spec implies that: >>>> - If we have a module X that is being updated, and there is another >>>> module Y that is wired to X, then X must remain available to future >>>> resolves. This future resolves includes new bundles. >>>> ? >>>> >>> >>> Yes. >>> >> >> Ok >> >> >> >>> >>> Hope this helps. >>> >> >> It helped a lot, huge thanks. >> >> Regards, >> Lucas >> >> >>> >>> regards, >>> >>> Karl >>> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> For additional commands, e-mail: [EMAIL PROTECTED] >> >> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > >
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]

