Hi everyone,
when undeploying a C3 app, I'm experiencing a PermGen memory leak due to
cocoon-jnet. You find more general info on the subject at [1].
This is the reference chain:
class java.net.URL
->
org.apache.cocoon.jnet.URLStreamHandlerFactoryInstaller$ParentableURLStreamHandlerFactory
->
org.apache.cocoon.jnet.URLStreamHandlerFactoryInstaller$ParentableURLStreamHandlerFactory
-> org.apache.catalina.loader.WebappClassLoader
The problem is this line of code in URLStreamHandlerFactoryInstaller;
commenting it out resolves the memory leak:
URL.setURLStreamHandlerFactory(new
ParentableURLStreamHandlerFactory(factory, null));
Here the static reference from java.net.URL to a Cocoon class is set.
Does anyone know if and how the reference can be removed, or if we can
achieve the same behaviour without registering the factory with
java.net.URL?
TIA for any hints!
[1] http://blogs.oracle.com/fkieviet/entry/how_to_fix_the_dreaded
-- Andreas
--
Andreas Hartmann, CTO
BeCompany GmbH
http://www.becompany.ch
Tel.: +41 (0) 43 818 57 01