[jboss-user] [JBoss Microcontainer Development] New message: "ClassLoadingAdmin"
Adrian Brock
do-not-reply at jboss.com
Tue Mar 2 09:03:37 EST 2010
User development,
A new message was posted in the thread "ClassLoadingAdmin":
http://community.jboss.org/message/529360#529360
Author : Adrian Brock
Profile : http://community.jboss.org/people/adrian@jboss.org
Message:
--------------------------------------------------------------
To mirror what is available in OSGi's PackageAdmin class, I've created a ClassLoadingAdmin interfacethat is implemented by both ClassLoading and Domain.
https://svn.jboss.org/repos/jbossas/projects/jboss-cl/trunk/classloading/src/main/java/org/jboss/classloading/spi/dependency/ClassLoadingAdmin.java
along with some supporting classes.
This required tidying up the way dependencies were stored for Modules for a number of reasons.
1) The cleanup of dependsOnMe() had some problems, there was a TODO in the code about it.
2) When using ShutdownPolicy=GARBAGE_COLLECTION (GC) the dependsOnMe() no longer gets updated on the DependencyInfo
so it needs to be maintained on the Module.
3) We need to keep track of dependencies after undeployment for the GC shutdown policy so we can handle
refreshModules(null) to re-resolve all deployments that have dependencies that are out-of-date.
4) Some of the queries need to be look at specific types of dependencies, e.g. those exporting a package or importing a module.
The major changes in this are;
* the remembering of the "resolvedModule" in the RequirementsDependencyItem and maintaining it
properly, including the dependsOnMe processing.
* holding a set of "lazyShutdownModules" in the Module class that get cleaned up after calls to refreshModules().
There's probably some other stuff that can get added ClassLoadingAdmin? e.g. those importing a package.
For now I've just been guided by what is available in OSGi, although I have generalized some of that api.
--------------------------------------------------------------
To reply to this message visit the message page: http://community.jboss.org/message/529360#529360
More information about the jboss-user
mailing list