Index: web/web-glue/src/main/java/com/sun/enterprise/web/WebContainer.java =================================================================== --- web/web-glue/src/main/java/com/sun/enterprise/web/WebContainer.java (revision 34715) +++ web/web-glue/src/main/java/com/sun/enterprise/web/WebContainer.java (working copy) @@ -43,6 +43,7 @@ import java.util.*; import java.util.logging.Level; import java.util.logging.Logger; +import javax.imageio.ImageIO; import javax.servlet.*; import javax.servlet.jsp.JspFactory; import javax.servlet.jsp.tagext.JspTag; @@ -571,6 +572,13 @@ Thread.currentThread().setContextClassLoader( getClass().getClassLoader()); try { + /* + * Trigger a call to sun.awt.AppContext.getAppContext(). This will + * pin the common class loader in memory and fix a memory leak + * affecting the WebappClassLoader that was caused by a JRE + * implementation change in 1.6.0_15 onwards. + */ + ImageIO.getCacheDirectory(); _embedded.start(); } catch (LifecycleException le) { _logger.log(Level.SEVERE,