[ 
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

Reply via email to