You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Claus Ibsen (JIRA)" <ji...@apache.org> on 2013/07/30 16:33:49 UTC

[jira] [Commented] (CAMEL-6485) Performance improvement in DefaultCamelContext by delaying synchronized block

    [ https://issues.apache.org/jira/browse/CAMEL-6485?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13723908#comment-13723908 ] 

Claus Ibsen commented on CAMEL-6485:
------------------------------------

In Camel 2.12 this has been improved, we had to fix a NPE in the 2.10 and 2.11 branches that possible revert this optimization. But from Camel 2.12 its all good again, due some refactorings done in JMX.
                
> Performance improvement in DefaultCamelContext by delaying synchronized block
> -----------------------------------------------------------------------------
>
>                 Key: CAMEL-6485
>                 URL: https://issues.apache.org/jira/browse/CAMEL-6485
>             Project: Camel
>          Issue Type: Improvement
>          Components: camel-core
>    Affects Versions: 2.11.0
>            Reporter: Eric
>            Assignee: Willem Jiang
>              Labels: performance
>             Fix For: 2.10.6, 2.11.1, 2.12.0
>
>         Attachments: defaultcamelcontext.patch
>
>
> When using Camel in a hi-throughput/multithreaded environment, I see a lot of contention in the DefaultCamelContext.getManagementStrategy() method.  Camel is synchronizing on an AtomicBoolean no matter what is the value of the boolean.  It is only required if the managementStrategy has not been initialized yet.  I have attached a patch that delays the synchronization to when the managementStrategy is not initialized.  This dramatically improved the performance of my system.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira