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 <[email protected]> Authored: Tue Jun 25 09:40:02 2013 +0800 Committer: Willem Jiang <[email protected]> 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) {
