After installing your replacement bundle make sure you refresh the packages.
Cheers, Chris On 30 November 2010 09:53, Nima Kaviani <[email protected]> wrote: > Hello all, > > I have a ClassLoading issue with my bundles and I hope you can help me > solve > it. > > The problem is that I have two versions of a bundle ( let's name them A and > A' ) exposing some services to other bundles in the application. Both > versions have quite identical classes except for bundle A having some extra > profiling code in all of its classes compared bundle A. Each bundle A or A' > shares instances from its classes with other bundles either through service > hooks or through explicit export- and import-package constructs. > > The problem I am facing is that when I swap A with A', the objects shared > as > OSGi services get swapped as expected, however the classes shared through > explicit import and export constructs don't get swapped. Explicitly said, > some of the classes from A remain loaded and accessible to classes in other > bundles through the defining class loader that for the first time loads > those classes. However, classes providing a service are swapped as a matter > of replacing A with A'. > > I believe this is mainly because the defining loader that initially loads > classes from A remains reachable by some other bundles in the application. > However, it seems very difficult for me to detect which bundles are holding > references and to which classes from the initially loaded classes in A. I > wonder if there is any way to explicitly enforce the initially loaded > classes to get garbage collected so that every single time I swap A and A', > I get proper wiring for classes in each bundle as expected. > > I would very much appreciate any help or hint, > -Nima > > -- > http://nima.magic.ubc.ca >

