Updated Branches: refs/heads/master 85c511639 -> 524e6a29a
AutoscalerRuleEvaluator singlton class's syncronization improved Project: http://git-wip-us.apache.org/repos/asf/incubator-stratos/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-stratos/commit/0561054a Tree: http://git-wip-us.apache.org/repos/asf/incubator-stratos/tree/0561054a Diff: http://git-wip-us.apache.org/repos/asf/incubator-stratos/diff/0561054a Branch: refs/heads/master Commit: 0561054a0e120708f16d0fca7f3c51e02085cc67 Parents: 9e95f8f Author: Lahiru Sandaruwan <[email protected]> Authored: Mon Dec 9 16:47:55 2013 +0530 Committer: Lahiru Sandaruwan <[email protected]> Committed: Mon Dec 9 16:47:55 2013 +0530 ---------------------------------------------------------------------- .../rule/AutoscalerRuleEvaluator.java | 36 +++++++++++--------- 1 file changed, 20 insertions(+), 16 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/0561054a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/rule/AutoscalerRuleEvaluator.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/rule/AutoscalerRuleEvaluator.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/rule/AutoscalerRuleEvaluator.java index 7e267b4..02738c9 100644 --- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/rule/AutoscalerRuleEvaluator.java +++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/rule/AutoscalerRuleEvaluator.java @@ -19,29 +19,29 @@ package org.apache.stratos.autoscaler.rule; -import java.io.File; -import java.util.HashMap; -import java.util.Map; - import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.stratos.autoscaler.ClusterMonitor; +import org.apache.stratos.autoscaler.Constants; +import org.apache.stratos.autoscaler.algorithm.AutoscaleAlgorithm; +import org.apache.stratos.autoscaler.algorithm.OneAfterAnother; +import org.apache.stratos.autoscaler.algorithm.PartitionGroupOneAfterAnother; +import org.apache.stratos.autoscaler.algorithm.RoundRobin; import org.apache.stratos.autoscaler.client.cloud.controller.CloudControllerClient; +import org.apache.stratos.cloud.controller.deployment.partition.Partition; +import org.apache.stratos.cloud.controller.pojo.MemberContext; import org.drools.KnowledgeBase; import org.drools.KnowledgeBaseFactory; import org.drools.builder.*; import org.drools.io.Resource; import org.drools.io.ResourceFactory; import org.drools.runtime.StatefulKnowledgeSession; -import org.wso2.carbon.utils.CarbonUtils; -import org.apache.stratos.autoscaler.Constants; -import org.apache.stratos.autoscaler.algorithm.AutoscaleAlgorithm; -import org.apache.stratos.autoscaler.algorithm.OneAfterAnother; -import org.apache.stratos.autoscaler.algorithm.RoundRobin; -import org.apache.stratos.autoscaler.algorithm.PartitionGroupOneAfterAnother; -import org.apache.stratos.cloud.controller.deployment.partition.Partition; -import org.apache.stratos.cloud.controller.pojo.MemberContext; import org.drools.runtime.rule.FactHandle; +import org.wso2.carbon.utils.CarbonUtils; + +import java.io.File; +import java.util.HashMap; +import java.util.Map; /** * This class is responsible for evaluating the current details of topology, statistics, and health @@ -154,11 +154,15 @@ public class AutoscalerRuleEvaluator { // return false; // } - public static synchronized AutoscalerRuleEvaluator getInstance() { - if (instance == null) { - instance = new AutoscalerRuleEvaluator (); + public static AutoscalerRuleEvaluator getInstance() { + if (instance == null) { + synchronized (AutoscalerRuleEvaluator.class){ + if (instance == null) { + instance = new AutoscalerRuleEvaluator(); + } } - return instance; + } + return instance; } private KnowledgeBase readKnowledgeBase() throws Exception {
