ah, good point. it's documented here [2] as well. i think we have to update the testing tools to issue a refresh package and the problem from SLING-4226 should be solved. will have a look into it.
stefan [2] http://felix.apache.org/documentation/tutorials-examples-and-presentations/apache-felix-osgi-faq.html#when-i-update-my-bundle-why-are-my-bundles-old-classes-still-being-used >-----Original Message----- >From: Carsten Ziegeler [mailto:[email protected]] >Sent: Monday, December 15, 2014 6:36 PM >To: [email protected] >Subject: Re: [launchpad] uninstalled bundles get not uninstalled? > >Am 15.12.14 um 18:25 schrieb Stefan Seifert: >> in SLING-4226 encountered a strange bundle deployment problem in integration >tests which I could reproduce with a few steps in launchpad and webconsole >[1]. >> >> the generic steps are: >> 1. bundle B depends on exports of bundle A >> 2. bundle A is uninstalled - B is still running >> 3. bundle B can even be stopped/started, the dependencies to A still resolve >although A is uninstalled and no longer visible in webconsole >> 4. after stopping/starting the launchpad/OSGi container B cannot be started >due to missing dependency A - this is expected >> >> how it this possible? >> in what status is A after uninstalling? >> shouldn't be bundle B stopped automatically by OSGi when A is uninstalled, >or at least when then bundle is restarted? >> >At least at step 2 bundle B is still wired to A until a package refresh >is done, so resources (class loader) of A is really only freed after >package refresh (if another bundle is wired to A). >For 3. as start/stop does not rewire bundle B, its still the same. > >So, general rule is: if you uninstall a bundle, make sure to invoke a >package refresh, unless you want other bundles to continue to be wired >to the uninstalled instance. > >Carsten >-- >Carsten Ziegeler >Adobe Research Switzerland >[email protected]
