Author: ffang
Date: Wed Jan  2 23:42:20 2008
New Revision: 608369

URL: http://svn.apache.org/viewvc?rev=608369&view=rev
Log:
[CXF-1351] static DocumentBuilderFactory in XMLUtils cause ClassCastException 
when use different classloader

Modified:
    
incubator/cxf/trunk/common/common/src/main/java/org/apache/cxf/helpers/XMLUtils.java

Modified: 
incubator/cxf/trunk/common/common/src/main/java/org/apache/cxf/helpers/XMLUtils.java
URL: 
http://svn.apache.org/viewvc/incubator/cxf/trunk/common/common/src/main/java/org/apache/cxf/helpers/XMLUtils.java?rev=608369&r1=608368&r2=608369&view=diff
==============================================================================
--- 
incubator/cxf/trunk/common/common/src/main/java/org/apache/cxf/helpers/XMLUtils.java
 (original)
+++ 
incubator/cxf/trunk/common/common/src/main/java/org/apache/cxf/helpers/XMLUtils.java
 Wed Jan  2 23:42:20 2008
@@ -88,6 +88,13 @@
     }
 
     public static DocumentBuilder getParser() throws 
ParserConfigurationException {
+        if (parserFactory.getClass().getClassLoader() != null 
+            && !parserFactory.getClass().getClassLoader().equals(
+                Thread.currentThread().getContextClassLoader())) {
+            //not the same classloader which init parserFactory, so create 
parserFactory with new classLoader
+            parserFactory = DocumentBuilderFactory.newInstance();
+            parserFactory.setNamespaceAware(true);
+        }
         return parserFactory.newDocumentBuilder();
     }
 


Reply via email to