Community
Participate
Working Groups
In 1.6.1 the ltw support was tuned to optimize for general usage but no direct testing was done for the behaviour under Equinox Aspects. This bug report is to investigate the current behaviour of ltw under Equinox Aspects and address any problems. Possible problems include: - incorrect classloader model that does not sit well with OSGi - reweaving support (ltw of already woven bundles) - memory usage: (1) in terms of memory usage shrinking over time for weavers that have done their job and are no longer in use (2) in terms of fixing any memory leaks
Great to see this entry! :-) I have two thoughts in mind that might be interesting for this: - incorrect classloader model: In the current implementation each bundle gets its own ltw-world for type resolution (which is fine from my point of view). A drawback of this is that shared types are loaded, parsed, and cached multiple types by different ltw-worlds. I could be wrong here but this is a field that should be investigated. See also bug #243583 - reweaving support: we currently support re-weaving of woven bundles with equinox aspects and all the other nice dynamic features of OSGi (including installing/uninstalling aspect bundles at runtime). Therefore we make usage of the OSGi dynamic features to update bundles when needed to trigger new classloading. This works fine in current equinox aspects builds but assumes that bundles behave nicely in an dynamic environment. What kind of support do you think of when saying reweaving support?
unsetting the target field which is currently set for something already released