Hi, looking into why GeoServer leaks permgen memory on application redeploy in web containers I've found a number of problems in Geotools, mostly related to referencing and coverages: referencing keeps threads open and uses thread locals, the coverages subsystem registers operations and similar objects in the global JAI registries, which might be loaded along with the web container and thus keep references from long lived classes to the ones that should be dropped when the web application is undeployed.
I rolled out a few cleanup methods here and there but the approach is unsatisfactory. What I would like to have is a GeoTools.shutdown() method that the client code can call to properly shut down all of the threads and thread locals and factories alike. Since GeoTools.shutdown() cannot possibly know about all that needs to be done, I would also like to introduce a ShutdownListener interface, so that library and plugin code can add a lister and be informed that the shutdown is ongoing, and thus perform the necessary cleanups. What do you think? Cheers Andrea -- Andrea Aime OpenGeo - http://opengeo.org Expert service straight from the developers. ------------------------------------------------------------------------------ _______________________________________________ Geotools-devel mailing list Geotools-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/geotools-devel