[ 
https://issues.apache.org/activemq/browse/CAMEL-1930?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Fabrice Delaporte updated CAMEL-1930:
-------------------------------------

    Attachment: with-contention.jpg

This capture shows ten consumers competing to evaluate an XPath expression

> Synchronized access to XPathExpression resulting in contention for multiple 
> consumers
> -------------------------------------------------------------------------------------
>
>                 Key: CAMEL-1930
>                 URL: https://issues.apache.org/activemq/browse/CAMEL-1930
>             Project: Apache Camel
>          Issue Type: Bug
>          Components: camel-core
>    Affects Versions: 2.0-M3
>         Environment: Java 1.6, Spring 2.5.6
>            Reporter: Fabrice Delaporte
>            Assignee: Claus Ibsen
>             Fix For: 2.1.0
>
>         Attachments: camel_1930.patch, with-contention.jpg
>
>
> Hi,
> I'm using Camel to do some JMS message routing. Messages are XML so xpath is 
> a natural choice.
> However when using a choice with an xpath expression, the XPathBuilder 
> creates one XPathExpression object. According to the specification, these 
> objects are not thread safe so synchronizing looks natural. But then, using 
> multiple jms consumers is totally useless since no concurrent evaluations can 
> be made.
> XPathExpression objects would rather need to be stored in a ThreadLocal to 
> avoid synchronization and contention.
> Cheers,
> Fabrice

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to