
With the advent of JSP 2.1, Jetty 6 switched to using Jasper from Sun’s Glassfish project, which is now the reference implementation.Īll forks of Jasper suffer from a problem whereby using JSP tag files puts the permgen space under pressure.

This was originally developed under the Apache Tomcat project, but over time many different project have forked it.Īll Jetty versions up to 6 used Apache-based Jasper exclusively, with Jetty 6 using Apache Jasper only for JSP 2.0. Some security providers, such as 11 start a deamon thread that traps the thread context classloader. The .Configuration class keeps a static reference to the thread context classloader. If class is loaded and the system property ` .` is set to a nonzero value, a daemon thread starts and keeps a reference to the context classloader.
JAVA MEMORY LEAK DETECTION JPROFILER FULL
See Stackoverflow: Does java garbage collection log entry Full GC system mean some class The number of threads dedicated to accepting incoming connections.Ĭalls to .requestLatency create a daemon thread that keeps a reference to the context classloader.Ī known caller of this method is the RMI impl.

Oracle bug 6916498 specifically mentions that a heap dump might not identify the GCRoot as the uncollected loader, making it difficult to identify the cause of the leak. The class has a static field that is the default toolkit.Ĭreating the default toolkit causes the creation of an EventQueue, which has a classloader field initialized with the thread context class loader.ĭOM parsing can cause the webapp classloader to be pinned, due to the static field ` RuntimeException` of. The JRE can invoke AppContext in many different places. The call to AppContext.getAppContext() keeps a static reference to the context classloader.
