[ https://issues.apache.org/jira/browse/XALANJ-2178?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12465730 ]
Carsten Ziegeler commented on XALANJ-2178: ------------------------------------------ The question is if pooling is so much faster than creating a new instance, especially compared to time spent on parsing the document. Even with pooling, you might end up with memory problems, for example if you have some instances in the pool still referencing memory and these instances are never used again. > Possible memory leak in XMLReaderManager > ---------------------------------------- > > Key: XALANJ-2178 > URL: https://issues.apache.org/jira/browse/XALANJ-2178 > Project: XalanJ2 > Issue Type: Bug > Components: transformation > Affects Versions: 2.6 > Reporter: Carsten Ziegeler > Priority: Critical > Attachments: XMLReaderManager.java > > > The XMLReaderManager caches the used XMLReader in a thread local variable. In > multi tasking environments this is a possible memory leak, as the XMLReader > (and everything referenced by this component) is still referenced after the > process is finished - until another request uses the same thread. > In our case this is causing out of memory exceptions. > I don't know what the correct path to this problem is. For now, we removed > the thread locals in the XMLReaderManager completly and created a new reader > each time - which has a minor performance downside, but our application is > still running :) > I think one possible solution would be to clean up the reader when the > transformation is finished - if this is possible. > Another solution would be to make this configurable using a property? -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]