CAMEL-6485 performance improvement in DefaultCamelContext with thanks to Eric
Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/42eedb9c Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/42eedb9c Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/42eedb9c Branch: refs/heads/camel-2.10.x Commit: 42eedb9ce0a2c44213a73af66753972997ed06a9 Parents: 5d2ef93 Author: Willem Jiang <ningji...@apache.org> Authored: Tue Jun 25 09:40:02 2013 +0800 Committer: Claus Ibsen <davscl...@apache.org> Committed: Tue Jun 25 11:06:33 2013 +0200 ---------------------------------------------------------------------- .../java/org/apache/camel/impl/DefaultCamelContext.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/42eedb9c/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java ---------------------------------------------------------------------- diff --git a/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java b/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java index ed4f72a..061813e 100644 --- a/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java +++ b/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java @@ -2334,12 +2334,14 @@ public class DefaultCamelContext extends ServiceSupport implements ModelCamelCon } public ManagementStrategy getManagementStrategy() { - synchronized (managementStrategyInitialized) { - if (managementStrategyInitialized.compareAndSet(false, true)) { - managementStrategy = createManagementStrategy(); + if (!managementStrategyInitialized.get()) { + synchronized (managementStrategyInitialized) { + if (managementStrategyInitialized.compareAndSet(false, true)) { + managementStrategy = createManagementStrategy(); + } } - return managementStrategy; } + return managementStrategy; } public void setManagementStrategy(ManagementStrategy managementStrategy) {