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

Reply via email to