You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by cz...@apache.org on 2003/08/01 14:45:05 UTC
cvs commit: cocoon-2.1/src/java/org/apache/cocoon/servlet ParanoidCocoonServlet.java
cziegeler 2003/08/01 05:45:05
Modified: src/java/org/apache/cocoon/servlet
ParanoidCocoonServlet.java
Log:
Reset classloader
Revision Changes Path
1.6 +17 -7 cocoon-2.1/src/java/org/apache/cocoon/servlet/ParanoidCocoonServlet.java
Index: ParanoidCocoonServlet.java
===================================================================
RCS file: /home/cvs/cocoon-2.1/src/java/org/apache/cocoon/servlet/ParanoidCocoonServlet.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- ParanoidCocoonServlet.java 9 Jul 2003 07:42:22 -0000 1.5
+++ ParanoidCocoonServlet.java 1 Aug 2003 12:45:05 -0000 1.6
@@ -125,10 +125,15 @@
// Always set the context classloader. JAXP uses it to find a ParserFactory,
// and thus fails if it's not set to the webapp classloader.
- Thread.currentThread().setContextClassLoader(this.classloader);
+ final ClassLoader old = Thread.currentThread().getContextClassLoader();
+ try {
+ Thread.currentThread().setContextClassLoader(this.classloader);
- // Inlitialize the actual servlet
- this.initServlet();
+ // Inlitialize the actual servlet
+ this.initServlet();
+ } finally {
+ Thread.currentThread().setContextClassLoader(old);
+ }
}
@@ -242,10 +247,15 @@
* Service the request by delegating the call to the real servlet
*/
public void service(ServletRequest request, ServletResponse response)
- throws ServletException, IOException {
+ throws ServletException, IOException {
- Thread.currentThread().setContextClassLoader(this.classloader);
- this.servlet.service(request, response);
+ final ClassLoader old = Thread.currentThread().getContextClassLoader();
+ try {
+ Thread.currentThread().setContextClassLoader(this.classloader);
+ this.servlet.service(request, response);
+ } finally {
+ Thread.currentThread().setContextClassLoader(old);
+ }
}
/**