[ http://issues.apache.org/jira/browse/XALANJ-2178?page=comments#action_12434489 ] Christopher Sahnwaldt commented on XALANJ-2178: -----------------------------------------------
I just stumbled across this JIRA entry and thought I'd add my €0.02... It would probably be better to have a pool of readers from which getXMLReader() takes one, and releaseXMLReader() puts it back. The pool could have a max idle size, so there wouldn't be a memory leak. For fine-tuning, this size could be changed by a system property or so. If some code forgets to call releaseXMLReader(), there still are no memory leaks, we'll just create more XMLReader objects than we would like to. > Possible memory leak in XMLReaderManager > ---------------------------------------- > > Key: XALANJ-2178 > URL: http://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: http://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]
