You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ni...@apache.org on 2013/06/25 04:46:14 UTC

[2/2] git commit: CAMEL-6485 performance improvement in DefaultCamelContext with thanks to Eric

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/c83e23c0
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/c83e23c0
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/c83e23c0

Branch: refs/heads/master
Commit: c83e23c0c6a937240a226f56fa63e62bc7ff31ac
Parents: 351d80e
Author: Willem Jiang <ni...@apache.org>
Authored: Tue Jun 25 09:40:02 2013 +0800
Committer: Willem Jiang <ni...@apache.org>
Committed: Tue Jun 25 09:40:02 2013 +0800

----------------------------------------------------------------------
 .../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/c83e23c0/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 22fa6e1..a276eac 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
@@ -2434,12 +2434,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) {