]
Thomas Diesler updated AS7-6801:
--------------------------------
Summary: Complete support for Bundle uninstall (was: Add proper support for Bundle
uninstall)
Complete support for Bundle uninstall
-------------------------------------
Key: AS7-6801
URL:
https://issues.jboss.org/browse/AS7-6801
Project: Application Server 7
Issue Type: Feature Request
Components: OSGi, Server
Reporter: Thomas Diesler
In OSGi
Stops the bundle, destroys the BundleContext, prevents further starts and marks the
bundle as "removal pending". Determine the usage count of the bundle classloader
(i.e. number of wires to this bundle). Only if there is no active wire left the bundle can
get removed from the Framework and the bundle class loader can get garbage collected.
Until then, wires to the bundle stay active and resource/class loading continues to work
as before. A bundle gets removed from the Framework automatically when the last dependency
gets is marked as removal pending or if there is an explicit call to refresh the the
wirings of the dependency closure (i.e. removal pending bundles are thrown out new wirings
get established)
In AS today
Bundle uninstall causes an 'undeploy' management operation, which rolls back the
deployment through all DUPs and removes it from the Framework. AS has no notion of
"removal pending" or "in use" module. Due to the way deployment phase
services have dependencies on phase services from other deployments, we get an undesired
side effect of bundle deployments stopping/breaking if they have a dependency on an
undeployed bundle. As mentioned above, dependecies should be limited to services but not
on bundle lifecycle let alone break class loader dependencies.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: