[ https://issues.apache.org/jira/browse/CAMEL-3813?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13012371#comment-13012371 ]
Marcin Kolda commented on CAMEL-3813: ------------------------------------- Yes, ThreadLocal should be cleared. We noticed huge improvement of GC under heavy load after using workaround for that. It's even worse when you use fixed thread pool (e.g. seda component) and/or Saxon for XSLT which contains WeakHashMap, in which key is a Document (body of exchange). > XPathBuilder doesn't clear ThreadLocal with exchange after evaluation > --------------------------------------------------------------------- > > Key: CAMEL-3813 > URL: https://issues.apache.org/jira/browse/CAMEL-3813 > Project: Camel > Issue Type: Improvement > Components: camel-core > Affects Versions: 2.7.0 > Reporter: Marcin Kolda > Priority: Minor > Labels: xpath > > XPathBuilder doesn't clear ThreadLocal with exchange (and variableResolver) > after evaluation. In such case reference to current exchange (and body, > headers, properties, etc.) remains in Thread until current thread dies or > evaluates new exchange with the same XPathBuilder instance. > The result of this is that each thread can contain references to multiple > exchanges (up to the number of xpaths in camel context), that can't be > collected by GC. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira