Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[eclipselink-dev] Fix for bug 233756 (SDOClassLoader performance optimizations)

I have submitted a fix for the following bug:

https://bugs.eclipse.org/bugs/show_bug.cgi?id=233756

Description: Performance improvements to loadClass() - look to see if class has already been generated before searching the classpath.

Patch file attached, reviewed by Matt.

--
Oracle
Rick Barkhouse | Software Developer, TopLink | 613.288.4613
Oracle Development
45 O'Connor Street, Suite 400 | Ottawa, Ontario K1P 1A4
Index: SAXUnmarshaller.java
===================================================================
--- SAXUnmarshaller.java	(revision 16832)
+++ SAXUnmarshaller.java	(working copy)
@@ -213,7 +213,7 @@
             saxUnmarshallerHandler.setUnmarshaller(xmlUnmarshaller);
             xmlReader.setContentHandler(saxUnmarshallerHandler);
             xmlReader.parse(inputSource);
-            xmlReader.setContentHandler(null);
+            
             // resolve any mapping references
             saxUnmarshallerHandler.resolveReferences();
             return saxUnmarshallerHandler.getObject();
@@ -231,7 +231,7 @@
             saxUnmarshallerHandler.setUnmarshaller(xmlUnmarshaller);
             xmlReader.setContentHandler(saxUnmarshallerHandler);
             xmlReader.parse(inputSource);
-            xmlReader.setContentHandler(null);
+
             // resolve any mapping references
             saxUnmarshallerHandler.resolveReferences();
             return saxUnmarshallerHandler.getObject();
@@ -281,7 +281,7 @@
                 //if lexical handling is not supported by this parser, just ignore. 
             }
             xmlReader.parse(inputSource);
-            xmlReader.setContentHandler(null);
+
         } catch (IOException e) {
             throw XMLMarshalException.unmarshalException(e);
         } catch (SAXException e) {
@@ -333,7 +333,7 @@
                 //if lexical handling is not supported by this parser, just ignore. 
             }
             xmlReader.parse(inputSource);
-            xmlReader.setContentHandler(null);
+
         } catch (IOException e) {
             throw XMLMarshalException.unmarshalException(e);
         } catch (SAXException e) {
@@ -361,8 +361,8 @@
             handler.setXMLReader(reader);
             handler.setUnmarshaller(xmlUnmarshaller);
             reader.parse(node);
-            reader.setContentHandler(null);
 
+
             handler.resolveReferences();
             return handler.getObject();
         } catch (SAXException e) {
@@ -404,7 +404,7 @@
             domReader.setContentHandler(unmarshalRecord);
             domReader.setProperty("http://xml.org/sax/properties/lexical-handler";, unmarshalRecord);
             domReader.parse(node);
-            domReader.setContentHandler(null);
+
         } catch (SAXException e) {
             throw convertSAXException(e);
         }
@@ -545,7 +545,7 @@
             saxUnmarshallerHandler.setUnmarshaller(xmlUnmarshaller);
             xmlReader.setContentHandler(saxUnmarshallerHandler);
             xmlReader.parse(systemId);
-            xmlReader.setContentHandler(null);
+
             // resolve mapping references
             saxUnmarshallerHandler.resolveReferences();
             return saxUnmarshallerHandler.getObject();

Back to the top