The sun.java2d.Disposer class, when loaded, starts an endless daemon thread that can inherit the WebappClassLoader as its context loader. This will cause a leak when the webapp is unloaded. It would be useful if JreMemoryLeakPreventionListener could load this class to prevent the leak.
Which daemon thread? Is this the same as bug #51688?
I do not think so. It is a thread named "Java2D Disposer", created in the static initializer of the sun.java2d.Disposer class.
Can you post minimal code to cause this thread to be created? I've just added a fix for that other, somewhat related, bug and I'd be happy to add this as well.
The exact code that causes it in the webapp at hand is a sun.java2d.Disposer.getQueue() call somewhere in the standard JRE library, but actually just anything that loads the class, even Class.forName("sun.java2d.Disposer"), is enough.
Fixed in trunk, 7.0.x branch. Will be included in 7.0.22 onward.