Author: mrglavas
Date: Tue Mar 16 20:47:56 2010
New Revision: 923975
URL: http://svn.apache.org/viewvc?rev=923975&view=rev
Log:
Once the LSSerializer (or XMLSerializer) has completed serializing the DOM drop
internal references to the nodes from the Document. If the application is
pooling serializers this will allow the garbage collector to reclaim the
Document and all of its nodes if the application no longer has any references
to it.
Modified:
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xml/serialize/BaseMarkupSerializer.java
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xml/serialize/DOMSerializerImpl.java
Modified:
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xml/serialize/BaseMarkupSerializer.java
URL:
http://svn.apache.org/viewvc/xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xml/serialize/BaseMarkupSerializer.java?rev=923975&r1=923974&r2=923975&view=diff
==============================================================================
---
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xml/serialize/BaseMarkupSerializer.java
(original)
+++
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xml/serialize/BaseMarkupSerializer.java
Tue Mar 16 20:47:56 2010
@@ -330,6 +330,9 @@ public abstract class BaseMarkupSerializ
return true;
}
+ protected void cleanup() {
+ fCurrentNode = null;
+ }
protected void prepare()
throws IOException
@@ -402,6 +405,7 @@ public abstract class BaseMarkupSerializ
reset();
prepare();
serializeNode( elem );
+ cleanup();
_printer.flush();
if ( _printer.getException() != null )
throw _printer.getException();
@@ -423,6 +427,7 @@ public abstract class BaseMarkupSerializ
reset();
prepare();
serializeNode( frag );
+ cleanup();
_printer.flush();
if ( _printer.getException() != null )
throw _printer.getException();
@@ -445,6 +450,7 @@ public abstract class BaseMarkupSerializ
prepare();
serializeNode( doc );
serializePreRoot();
+ cleanup();
_printer.flush();
if ( _printer.getException() != null )
throw _printer.getException();
Modified:
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xml/serialize/DOMSerializerImpl.java
URL:
http://svn.apache.org/viewvc/xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xml/serialize/DOMSerializerImpl.java?rev=923975&r1=923974&r2=923975&view=diff
==============================================================================
---
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xml/serialize/DOMSerializerImpl.java
(original)
+++
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xml/serialize/DOMSerializerImpl.java
Tue Mar 16 20:47:56 2010
@@ -1047,7 +1047,7 @@ public class DOMSerializerImpl implement
break;
}
}
-
+ fLocator.fRelatedNode = null;
}
private String _getXmlVersion(Node node) {
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]