Author: remy.maucherat(a)jboss.com
Date: 2014-11-28 05:45:21 -0500 (Fri, 28 Nov 2014)
New Revision: 2560
Modified:
branches/7.5.x/src/main/java/org/apache/catalina/core/StandardHostValve.java
Log:
BZ1168870: optimization submitted by John O'Hara.
Modified: branches/7.5.x/src/main/java/org/apache/catalina/core/StandardHostValve.java
===================================================================
---
branches/7.5.x/src/main/java/org/apache/catalina/core/StandardHostValve.java 2014-11-27
14:31:36 UTC (rev 2559)
+++
branches/7.5.x/src/main/java/org/apache/catalina/core/StandardHostValve.java 2014-11-28
10:45:21 UTC (rev 2560)
@@ -68,7 +68,12 @@
private static final String info =
"org.apache.catalina.core.StandardHostValve/1.0";
+ /*
+ * Cache classLoader to reduce expensive calls to class.getClassLoader()
+ * */
+ private static final ClassLoader CONTEXT_CLASS_LOADER =
StandardHostValve.class.getClassLoader();
+
// ------------------------------------------------------------- Properties
@@ -183,7 +188,7 @@
context.getThreadBindingListener().unbind();
// Restore the context classloader
-
Thread.currentThread().setContextClassLoader(StandardHostValve.class.getClassLoader());
+ Thread.currentThread().setContextClassLoader(CONTEXT_CLASS_LOADER);
}
@@ -237,7 +242,7 @@
container.getLogger().error(MESSAGES.requestListenerInitException(instances[i].getClass().getName()),
t);
ServletRequest sreq = request.getRequest();
sreq.setAttribute(RequestDispatcher.ERROR_EXCEPTION, t);
-
Thread.currentThread().setContextClassLoader(StandardHostValve.class.getClassLoader());
+ Thread.currentThread().setContextClassLoader(CONTEXT_CLASS_LOADER);
return;
}
}
@@ -300,7 +305,7 @@
context.getThreadBindingListener().unbind();
// Restore the context classloader
-
Thread.currentThread().setContextClassLoader(StandardHostValve.class.getClassLoader());
+ Thread.currentThread().setContextClassLoader(CONTEXT_CLASS_LOADER);
}
Show replies by date