WAR == single classloader was: Benefits of activeReferenceQueue
jaroslav.tulach at oracle.com
Fri Aug 1 04:39:36 UTC 2014
Dne Út 29. července 2014 14:13:25, Florian Weimer napsal(a):
> On 07/29/2014 10:05 AM, Jaroslav Tulach wrote:
> > Plus, because there is a single classloader which loads all the classes
> > from a WAR, by keeping the activerReferenceQueue thread alive and holding
> > reference to the queue, we hold reference to its class and the
> > classloader and thus all classes referenced by it.
> > And this memory leak accumulates with every re-deploy.
> Could you interrupt the thread when URLClassLoader#close() is called?
I am not sure how to hook into URLClassLoader#close? It is the container who
creates the classloader, not my library and I don't see any way to add a
"listener" to the close method (without a reflection).
More information about the core-libs-dev