You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by cz...@apache.org on 2010/01/12 16:36:19 UTC
svn commit: r898374 -
/sling/trunk/bundles/scripting/jsp/src/main/java/org/apache/sling/scripting/jsp/jasper/runtime/JspFactoryImpl.java
Author: cziegeler
Date: Tue Jan 12 15:36:18 2010
New Revision: 898374
URL: http://svn.apache.org/viewvc?rev=898374&view=rev
Log:
SLING-1284 : MemoryLeak: ThreadLocal variable is never cleared
Modified:
sling/trunk/bundles/scripting/jsp/src/main/java/org/apache/sling/scripting/jsp/jasper/runtime/JspFactoryImpl.java
Modified: sling/trunk/bundles/scripting/jsp/src/main/java/org/apache/sling/scripting/jsp/jasper/runtime/JspFactoryImpl.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/scripting/jsp/src/main/java/org/apache/sling/scripting/jsp/jasper/runtime/JspFactoryImpl.java?rev=898374&r1=898373&r2=898374&view=diff
==============================================================================
--- sling/trunk/bundles/scripting/jsp/src/main/java/org/apache/sling/scripting/jsp/jasper/runtime/JspFactoryImpl.java (original)
+++ sling/trunk/bundles/scripting/jsp/src/main/java/org/apache/sling/scripting/jsp/jasper/runtime/JspFactoryImpl.java Tue Jan 12 15:36:18 2010
@@ -43,13 +43,6 @@
private Log log = LogFactory.getLog(JspFactoryImpl.class);
private static final String SPEC_VERSION = "2.1";
- private static final boolean USE_POOL = false;
- //Boolean.valueOf(System.getProperty("org.apache.sling.scripting.jsp.jasper.runtime.JspFactoryImpl.USE_POOL", "false")).booleanValue();
-
- private static final int POOL_SIZE =
- Integer.valueOf(System.getProperty("org.apache.sling.scripting.jsp.jasper.runtime.JspFactoryImpl.POOL_SIZE", "8")).intValue();
-
- private ThreadLocal<PageContextPool> localPool = new ThreadLocal<PageContextPool>();
public PageContext getPageContext(Servlet servlet, ServletRequest request,
ServletResponse response, String errorPageURL, boolean needsSession,
@@ -91,20 +84,7 @@
ServletResponse response, String errorPageURL, boolean needsSession,
int bufferSize, boolean autoflush) {
try {
- PageContext pc;
- if (USE_POOL) {
- PageContextPool pool = localPool.get();
- if (pool == null) {
- pool = new PageContextPool();
- localPool.set(pool);
- }
- pc = pool.get();
- if (pc == null) {
- pc = new PageContextImpl();
- }
- } else {
- pc = new PageContextImpl();
- }
+ PageContext pc = new PageContextImpl();
pc.initialize(servlet, request, response, errorPageURL,
needsSession, bufferSize, autoflush);
return pc;
@@ -117,9 +97,6 @@
private void internalReleasePageContext(PageContext pc) {
pc.release();
- if (USE_POOL && (pc instanceof PageContextImpl)) {
- localPool.get().put(pc);
- }
}
private class PrivilegedGetPageContext implements PrivilegedAction {
@@ -169,34 +146,6 @@
}
}
- protected final class PageContextPool {
-
- private PageContext[] pool;
-
- private int current = -1;
-
- public PageContextPool() {
- this.pool = new PageContext[POOL_SIZE];
- }
-
- public void put(PageContext o) {
- if (current < (POOL_SIZE - 1)) {
- current++;
- pool[current] = o;
- }
- }
-
- public PageContext get() {
- PageContext item = null;
- if (current >= 0) {
- item = pool[current];
- current--;
- }
- return item;
- }
-
- }
-
public JspApplicationContext getJspApplicationContext(ServletContext context) {
return JspApplicationContextImpl.getInstance(context);
}