Author: karthick
Date: Tue Apr 14 23:36:05 2009
New Revision: 765005

URL: http://svn.apache.org/viewvc?rev=765005&view=rev
Log:
ODE-574 Apply Ciaran's patch to avoid memory-leak in XSL cache.

Modified:
    
ode/branches/APACHE_ODE_1.X/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/BpelC.java
    
ode/branches/APACHE_ODE_1.X/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/BpelCompiler.java
    
ode/branches/APACHE_ODE_1.X/utils/src/main/java/org/apache/ode/utils/xsl/XslTransformHandler.java

Modified: 
ode/branches/APACHE_ODE_1.X/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/BpelC.java
URL: 
http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/BpelC.java?rev=765005&r1=765004&r2=765005&view=diff
==============================================================================
--- 
ode/branches/APACHE_ODE_1.X/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/BpelC.java
 (original)
+++ 
ode/branches/APACHE_ODE_1.X/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/BpelC.java
 Tue Apr 14 23:36:05 2009
@@ -85,7 +85,7 @@
         this.setResourceFinder(null);
         this.setCompileListener(null);
         this.setOutputStream(null);
-        XslTransformHandler.getInstance().setErrorListener(null);
+        XslTransformHandler.getInstance().setErrorListener( new 
net.sf.saxon.StandardErrorListener() );
     }
 
     /**

Modified: 
ode/branches/APACHE_ODE_1.X/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/BpelCompiler.java
URL: 
http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/BpelCompiler.java?rev=765005&r1=765004&r2=765005&view=diff
==============================================================================
--- 
ode/branches/APACHE_ODE_1.X/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/BpelCompiler.java
 (original)
+++ 
ode/branches/APACHE_ODE_1.X/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/BpelCompiler.java
 Tue Apr 14 23:36:05 2009
@@ -121,6 +121,7 @@
 import org.apache.ode.utils.xsd.SchemaModel;
 import org.apache.ode.utils.xsd.XSUtils;
 import org.apache.ode.utils.xsd.XsdException;
+import org.apache.ode.utils.xsl.XslTransformHandler;
 import org.apache.xerces.xni.parser.XMLEntityResolver;
 import org.w3c.dom.Document;
 import org.w3c.dom.Node;
@@ -744,6 +745,8 @@
                 sb.append('\n');
             }
         }
+        
+        XslTransformHandler.getInstance().clearXSLSheets(_oprocess.getQName());
 
         if (hasErrors) {
             throw new 
CompilationException(__cmsgs.errCompilationErrors(_errors.size(), 
sb.toString()));

Modified: 
ode/branches/APACHE_ODE_1.X/utils/src/main/java/org/apache/ode/utils/xsl/XslTransformHandler.java
URL: 
http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/utils/src/main/java/org/apache/ode/utils/xsl/XslTransformHandler.java?rev=765005&r1=765004&r2=765005&view=diff
==============================================================================
--- 
ode/branches/APACHE_ODE_1.X/utils/src/main/java/org/apache/ode/utils/xsl/XslTransformHandler.java
 (original)
+++ 
ode/branches/APACHE_ODE_1.X/utils/src/main/java/org/apache/ode/utils/xsl/XslTransformHandler.java
 Tue Apr 14 23:36:05 2009
@@ -164,7 +164,9 @@
   }
   
   public void clearXSLSheets(QName processQName) {
-         _templateCache.removeAll(processQName);
+       synchronized (_templateCache) {
+                 _templateCache.removeAll(processQName);
+       }
   }
 
 }


Reply via email to