You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by la...@apache.org on 2014/12/03 15:34:22 UTC
[1/2] stratos git commit: Adding new drools file and cluster monitor
changes for new AutoscalerRuleEvaluator
Repository: stratos
Updated Branches:
refs/heads/master b5f992b73 -> 33e901b15
Adding new drools file and cluster monitor changes for new AutoscalerRuleEvaluator
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/33e901b1
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/33e901b1
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/33e901b1
Branch: refs/heads/master
Commit: 33e901b151ea59cd9d7f96b48a32c02fb0e8ed7e
Parents: 6cda475
Author: Lahiru Sandaruwan <la...@apache.org>
Authored: Wed Dec 3 20:05:52 2014 +0530
Committer: Lahiru Sandaruwan <la...@apache.org>
Committed: Wed Dec 3 20:06:00 2014 +0530
----------------------------------------------------------------------
.../monitor/cluster/AbstractClusterMonitor.java | 18 ++++++++++++++----
.../cluster/KubernetesServiceClusterMonitor.java | 11 ++++-------
.../monitor/cluster/VMClusterMonitor.java | 15 +++++----------
.../monitor/cluster/VMLbClusterMonitor.java | 2 +-
.../common/constants/StratosConstants.java | 1 +
5 files changed, 25 insertions(+), 22 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/stratos/blob/33e901b1/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/AbstractClusterMonitor.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/AbstractClusterMonitor.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/AbstractClusterMonitor.java
index 3afda6f..6f5c714 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/AbstractClusterMonitor.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/AbstractClusterMonitor.java
@@ -30,6 +30,7 @@ import org.apache.stratos.autoscaler.monitor.events.MonitorScalingEvent;
import org.apache.stratos.autoscaler.monitor.events.MonitorStatusEvent;
import org.apache.stratos.autoscaler.rule.AutoscalerRuleEvaluator;
import org.apache.stratos.common.Properties;
+import org.apache.stratos.common.constants.StratosConstants;
import org.apache.stratos.messaging.domain.applications.Application;
import org.apache.stratos.messaging.domain.applications.ApplicationStatus;
import org.apache.stratos.messaging.domain.applications.Group;
@@ -83,10 +84,19 @@ public abstract class AbstractClusterMonitor extends Monitor implements Runnable
this.monitoringStarted = new AtomicBoolean(false);
//this.clusterContext = abstractClusterContext;
//this.instanceIdToClusterContextMap = new HashMap<String, AbstractClusterContext>();
- this.obsoleteCheckKnowledgeSession = autoscalerRuleEvaluator.getObsoleteCheckStatefulSession();
- this.scaleCheckKnowledgeSession = autoscalerRuleEvaluator.getScaleCheckStatefulSession();
- this.minCheckKnowledgeSession = autoscalerRuleEvaluator.getMinCheckStatefulSession();
- this.dependentScaleCheckKnowledgeSession = autoscalerRuleEvaluator.getMinCheckStatefulSession();
+ autoscalerRuleEvaluator.parseAndBuildKnowledgeBaseForDroolsFile(StratosConstants.VM_OBSOLETE_CHECK_DROOL_FILE);
+ autoscalerRuleEvaluator.parseAndBuildKnowledgeBaseForDroolsFile(StratosConstants.VM_SCALE_CHECK_DROOL_FILE);
+ autoscalerRuleEvaluator.parseAndBuildKnowledgeBaseForDroolsFile(StratosConstants.VM_MIN_CHECK_DROOL_FILE);
+ autoscalerRuleEvaluator.parseAndBuildKnowledgeBaseForDroolsFile(StratosConstants.DEPENDENT_SCALE_CHECK_DROOL_FILE);
+
+ this.obsoleteCheckKnowledgeSession = autoscalerRuleEvaluator.getStatefulSession(
+ StratosConstants.VM_OBSOLETE_CHECK_DROOL_FILE);
+ this.scaleCheckKnowledgeSession = autoscalerRuleEvaluator.getStatefulSession(
+ StratosConstants.VM_SCALE_CHECK_DROOL_FILE);
+ this.minCheckKnowledgeSession = autoscalerRuleEvaluator.getStatefulSession(
+ StratosConstants.VM_MIN_CHECK_DROOL_FILE);
+ this.dependentScaleCheckKnowledgeSession = autoscalerRuleEvaluator.getStatefulSession(
+ StratosConstants.DEPENDENT_SCALE_CHECK_DROOL_FILE);
this.status = ClusterStatus.Created;
}
http://git-wip-us.apache.org/repos/asf/stratos/blob/33e901b1/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/KubernetesServiceClusterMonitor.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/KubernetesServiceClusterMonitor.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/KubernetesServiceClusterMonitor.java
index 7fabbec..f4fd0b7 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/KubernetesServiceClusterMonitor.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/KubernetesServiceClusterMonitor.java
@@ -47,10 +47,7 @@ public final class KubernetesServiceClusterMonitor extends KubernetesClusterMoni
public KubernetesServiceClusterMonitor(String serviceType, String clusterId) {
super(serviceType, clusterId,
- new AutoscalerRuleEvaluator(
- StratosConstants.CONTAINER_MIN_CHECK_DROOL_FILE,
- StratosConstants.CONTAINER_OBSOLETE_CHECK_DROOL_FILE,
- StratosConstants.CONTAINER_SCALE_CHECK_DROOL_FILE));
+ new AutoscalerRuleEvaluator());
readConfigurations();
}
@@ -114,7 +111,7 @@ public final class KubernetesServiceClusterMonitor extends KubernetesClusterMoni
log.debug(String.format(
"Running scale check for [kub-cluster] : %s [cluster] : %s ", kubernetesClusterID, getClusterId()));
}
- scaleCheckFactHandle = AutoscalerRuleEvaluator.evaluateScaleCheck(
+ scaleCheckFactHandle = AutoscalerRuleEvaluator.evaluate(
getScaleCheckKnowledgeSession(), scaleCheckFactHandle, getKubernetesClusterCtxt());
getKubernetesClusterCtxt().setRifReset(false);
getKubernetesClusterCtxt().setMemoryConsumptionReset(false);
@@ -137,7 +134,7 @@ public final class KubernetesServiceClusterMonitor extends KubernetesClusterMoni
log.debug(String.format(
"Running min check for [kub-cluster] : %s [cluster] : %s ", kubernetesClusterID, getClusterId()));
}
- minCheckFactHandle = AutoscalerRuleEvaluator.evaluateMinCheck(
+ minCheckFactHandle = AutoscalerRuleEvaluator.evaluate(
getMinCheckKnowledgeSession(), minCheckFactHandle,
getKubernetesClusterCtxt());
}
@@ -149,7 +146,7 @@ public final class KubernetesServiceClusterMonitor extends KubernetesClusterMoni
log.debug(String.format(
"Running obsolete check for [kub-cluster] : %s [cluster] : %s ", kubernetesClusterID, getClusterId()));
}
- obsoleteCheckFactHandle = AutoscalerRuleEvaluator.evaluateMinCheck(
+ obsoleteCheckFactHandle = AutoscalerRuleEvaluator.evaluate(
getObsoleteCheckKnowledgeSession(), obsoleteCheckFactHandle,
getKubernetesClusterCtxt());
}
http://git-wip-us.apache.org/repos/asf/stratos/blob/33e901b1/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/VMClusterMonitor.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/VMClusterMonitor.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/VMClusterMonitor.java
index e55377b..3763c94 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/VMClusterMonitor.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/VMClusterMonitor.java
@@ -35,7 +35,6 @@ import org.apache.stratos.autoscaler.monitor.events.MonitorStatusEvent;
import org.apache.stratos.autoscaler.monitor.events.builder.MonitorStatusEventBuilder;
import org.apache.stratos.autoscaler.rule.AutoscalerRuleEvaluator;
import org.apache.stratos.autoscaler.status.processor.cluster.ClusterStatusTerminatedProcessor;
-import org.apache.stratos.autoscaler.util.StatusChecker;
import org.apache.stratos.autoscaler.status.processor.cluster.ClusterStatusActiveProcessor;
import org.apache.stratos.autoscaler.status.processor.cluster.ClusterStatusInActiveProcessor;
import org.apache.stratos.autoscaler.util.AutoScalerConstants;
@@ -45,7 +44,6 @@ import org.apache.stratos.autoscaler.util.ServiceReferenceHolder;
import org.apache.stratos.cloud.controller.stub.domain.MemberContext;
import org.apache.stratos.common.Properties;
import org.apache.stratos.common.Property;
-import org.apache.stratos.common.constants.StratosConstants;
import org.apache.stratos.messaging.domain.applications.ApplicationStatus;
import org.apache.stratos.messaging.domain.applications.GroupStatus;
import org.apache.stratos.messaging.domain.topology.Cluster;
@@ -70,10 +68,7 @@ public class VMClusterMonitor extends AbstractClusterMonitor {
private float scalingFactorBasedOnDependencies = 1.0f;
protected VMClusterMonitor(String serviceType, String clusterId) {
- super(serviceType, clusterId, new AutoscalerRuleEvaluator(
- StratosConstants.VM_MIN_CHECK_DROOL_FILE,
- StratosConstants.VM_OBSOLETE_CHECK_DROOL_FILE,
- StratosConstants.VM_SCALE_CHECK_DROOL_FILE));
+ super(serviceType, clusterId, new AutoscalerRuleEvaluator());
this.networkPartitionIdToClusterLevelNetworkPartitionCtxts = new HashMap<String, ClusterLevelNetworkPartitionContext>();
readConfigurations();
@@ -218,10 +213,10 @@ public class VMClusterMonitor extends AbstractClusterMonitor {
instanceContext.getId()));
}
- minCheckFactHandle = AutoscalerRuleEvaluator.evaluateMinCheck(getMinCheckKnowledgeSession(),
+ minCheckFactHandle = AutoscalerRuleEvaluator.evaluate(getMinCheckKnowledgeSession(),
minCheckFactHandle, instanceContext);
- obsoleteCheckFactHandle = AutoscalerRuleEvaluator.evaluateObsoleteCheck(
+ obsoleteCheckFactHandle = AutoscalerRuleEvaluator.evaluate(
getObsoleteCheckKnowledgeSession(), obsoleteCheckFactHandle, instanceContext);
//checking the status of the cluster
@@ -257,7 +252,7 @@ public class VMClusterMonitor extends AbstractClusterMonitor {
log.debug(" Primary members : " + primaryMemberListInClusterInstance);
}
- scaleCheckFactHandle = AutoscalerRuleEvaluator.evaluateScaleCheck(getScaleCheckKnowledgeSession()
+ scaleCheckFactHandle = AutoscalerRuleEvaluator.evaluate(getScaleCheckKnowledgeSession()
, scaleCheckFactHandle, instanceContext);
instanceContext.setRifReset(false);
@@ -376,7 +371,7 @@ public class VMClusterMonitor extends AbstractClusterMonitor {
getDependentScaleCheckKnowledgeSession().setGlobal("instanceRoundingFactor",
vmClusterContext.getAutoscalePolicy().getInstanceRoundingFactor());
- dependentScaleCheckFactHandle = AutoscalerRuleEvaluator.evaluateScaleCheck(getScaleCheckKnowledgeSession()
+ dependentScaleCheckFactHandle = AutoscalerRuleEvaluator.evaluate(getScaleCheckKnowledgeSession()
, scaleCheckFactHandle, clusterLevelNetworkPartitionContext);
}
http://git-wip-us.apache.org/repos/asf/stratos/blob/33e901b1/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/VMLbClusterMonitor.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/VMLbClusterMonitor.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/VMLbClusterMonitor.java
index 370a2a3..a69d3bd 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/VMLbClusterMonitor.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/VMLbClusterMonitor.java
@@ -105,7 +105,7 @@
// }
//
// minCheckFactHandle =
-// AutoscalerRuleEvaluator.evaluateMinCheck(getMinCheckKnowledgeSession(),
+// AutoscalerRuleEvaluator.evaluate(getMinCheckKnowledgeSession(),
// minCheckFactHandle,
// partitionContext);
// obsoleteCheckFactHandle =
http://git-wip-us.apache.org/repos/asf/stratos/blob/33e901b1/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/constants/StratosConstants.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/constants/StratosConstants.java b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/constants/StratosConstants.java
index 38e91af..36a0f20 100644
--- a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/constants/StratosConstants.java
+++ b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/constants/StratosConstants.java
@@ -158,6 +158,7 @@ public class StratosConstants {
public static final String DROOLS_DIR_NAME = "drools";
public static final String CONTAINER_SCALE_CHECK_DROOL_FILE = "container-scaling.drl";
public static final String VM_SCALE_CHECK_DROOL_FILE = "scaling.drl";
+ public static final String DEPENDENT_SCALE_CHECK_DROOL_FILE = "dependent-scaling.drl";
public static final String CONTAINER_MIN_CHECK_DROOL_FILE = "container-mincheck.drl";
public static final String VM_MIN_CHECK_DROOL_FILE = "mincheck.drl";
public static final String CONTAINER_OBSOLETE_CHECK_DROOL_FILE = "container-obsoletecheck.drl";
[2/2] stratos git commit: Adjust AutoscalerRuleEvaluator to use it
for building any new drls file
Posted by la...@apache.org.
Adjust AutoscalerRuleEvaluator to use it for building any new drls file
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/6cda475d
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/6cda475d
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/6cda475d
Branch: refs/heads/master
Commit: 6cda475d456f684417249786cc8e0339934e9036
Parents: b5f992b
Author: Lahiru Sandaruwan <la...@apache.org>
Authored: Wed Dec 3 20:05:02 2014 +0530
Committer: Lahiru Sandaruwan <la...@apache.org>
Committed: Wed Dec 3 20:06:00 2014 +0530
----------------------------------------------------------------------
.../rule/AutoscalerRuleEvaluator.java | 291 ++++++++++---------
1 file changed, 150 insertions(+), 141 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/stratos/blob/6cda475d/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 7c7f70a..57fd4a0 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
@@ -35,6 +35,8 @@ import org.drools.runtime.rule.FactHandle;
import org.wso2.carbon.utils.CarbonUtils;
import java.io.File;
+import java.util.HashMap;
+import java.util.Map;
import java.util.Properties;
/**
@@ -45,174 +47,181 @@ public class AutoscalerRuleEvaluator {
private static final Log log = LogFactory.getLog(AutoscalerRuleEvaluator.class);
- //vm drool files as default
- private String minCheckDroolFileName = StratosConstants.CONTAINER_MIN_CHECK_DROOL_FILE;
- private String obsoleteCheckDroolFileName = StratosConstants.CONTAINER_OBSOLETE_CHECK_DROOL_FILE;
- private String scaleCheckDroolFileName = StratosConstants.CONTAINER_SCALE_CHECK_DROOL_FILE;
- private String terminateAllDroolFileName = "terminateall.drl";
-
- private static KnowledgeBase minCheckKbase;
- private static KnowledgeBase obsoleteCheckKbase;
- private static KnowledgeBase scaleCheckKbase;
- @SuppressWarnings("unused")
- private static KnowledgeBase terminateAllKbase;
-
- public AutoscalerRuleEvaluator(String minCheckDroolFileName, String obsoleteCheckDroolFileName, String scaleCheckDroolFileName){
-
- if (minCheckDroolFileName != null && !minCheckDroolFileName.isEmpty()) {
- this.minCheckDroolFileName = minCheckDroolFileName;
- }
-
- if (obsoleteCheckDroolFileName != null && !obsoleteCheckDroolFileName.isEmpty()) {
- this.obsoleteCheckDroolFileName = obsoleteCheckDroolFileName;
- }
-
- if (scaleCheckDroolFileName != null && !scaleCheckDroolFileName.isEmpty()) {
- this.scaleCheckDroolFileName = scaleCheckDroolFileName;
- }
-
- minCheckKbase = readKnowledgeBase(this.minCheckDroolFileName);
+// //vm drool files as default
+// private String minCheckDroolFileName = StratosConstants.CONTAINER_MIN_CHECK_DROOL_FILE;
+// private String obsoleteCheckDroolFileName = StratosConstants.CONTAINER_OBSOLETE_CHECK_DROOL_FILE;
+// private String scaleCheckDroolFileName = StratosConstants.CONTAINER_SCALE_CHECK_DROOL_FILE;
+//
+// private static KnowledgeBase minCheckKbase;
+// private static KnowledgeBase obsoleteCheckKbase;
+// private static KnowledgeBase scaleCheckKbase;
- if (log.isDebugEnabled()) {
- log.debug("Minimum check rule is parsed successfully : " + this.minCheckDroolFileName);
- }
-
- obsoleteCheckKbase = readKnowledgeBase(this.obsoleteCheckDroolFileName);
+ private static Map<String, KnowledgeBase> knowledgeBases;
- if (log.isDebugEnabled()) {
- log.debug("Obsolete check rule is parsed successfully : " + this.obsoleteCheckDroolFileName);
- }
+ public AutoscalerRuleEvaluator(){
- scaleCheckKbase = readKnowledgeBase(this.scaleCheckDroolFileName);
+ knowledgeBases = new HashMap<String, KnowledgeBase>();
+// if (minCheckDroolFileName != null && !minCheckDroolFileName.isEmpty()) {
+// this.minCheckDroolFileName = minCheckDroolFileName;
+// }
+//
+// if (obsoleteCheckDroolFileName != null && !obsoleteCheckDroolFileName.isEmpty()) {
+// this.obsoleteCheckDroolFileName = obsoleteCheckDroolFileName;
+// }
+//
+// if (scaleCheckDroolFileName != null && !scaleCheckDroolFileName.isEmpty()) {
+// this.scaleCheckDroolFileName = scaleCheckDroolFileName;
+// }
+//
+// minCheckKbase = readKnowledgeBase(this.minCheckDroolFileName);
+//
+// if (log.isDebugEnabled()) {
+// log.debug("Minimum check rule is parsed successfully : " + this.minCheckDroolFileName);
+// }
+//
+// obsoleteCheckKbase = readKnowledgeBase(this.obsoleteCheckDroolFileName);
+//
+// if (log.isDebugEnabled()) {
+// log.debug("Obsolete check rule is parsed successfully : " + this.obsoleteCheckDroolFileName);
+// }
+//
+// scaleCheckKbase = readKnowledgeBase(this.scaleCheckDroolFileName);
+//
+// if (log.isDebugEnabled()) {
+// log.debug("Scale check rule is parsed successfully : " + this.scaleCheckDroolFileName);
+// }
+//
+ }
- if (log.isDebugEnabled()) {
- log.debug("Scale check rule is parsed successfully : " + this.scaleCheckDroolFileName);
- }
-
- terminateAllKbase = readKnowledgeBase(this.terminateAllDroolFileName);
+ public void parseAndBuildKnowledgeBaseForDroolsFile(String drlFileName){
+
+ knowledgeBases.put(drlFileName, readKnowledgeBase(drlFileName));
if (log.isDebugEnabled()) {
- log.debug("Terminate all rule is parsed successfully : " + this.terminateAllDroolFileName);
+ log.debug("Drools file is parsed successfully : " + drlFileName);
}
+
}
- public static FactHandle evaluateMinCheck(StatefulKnowledgeSession ksession, FactHandle handle, Object obj) {
- if (handle == null) {
- ksession.setGlobal("$delegator", new RuleTasksDelegator());
- handle = ksession.insert(obj);
- } else {
- ksession.update(handle, obj);
- }
- ksession.fireAllRules();
- if(log.isDebugEnabled()){
- log.debug(String.format("Minimum check executed for : %s ", obj));
- }
- return handle;
- }
-
- public static FactHandle evaluateObsoleteCheck(StatefulKnowledgeSession ksession, FactHandle handle, Object obj) {
- if (handle == null) {
- ksession.setGlobal("$delegator", new RuleTasksDelegator());
- handle = ksession.insert(obj);
- } else {
- ksession.update(handle, obj);
- }
- ksession.fireAllRules();
- if(log.isDebugEnabled()){
- log.debug(String.format("Obsolete check executed for : %s ", obj));
- }
- return handle;
- }
+ public static FactHandle evaluate(StatefulKnowledgeSession ksession, FactHandle handle, Object obj) {
- public static FactHandle evaluateScaleCheck(StatefulKnowledgeSession ksession, FactHandle handle, Object obj) {
- if (handle == null) {
- ksession.setGlobal("$delegator", new RuleTasksDelegator());
- handle = ksession.insert(obj);
- } else {
- ksession.update(handle, obj);
- }
- ksession.fireAllRules();
- if(log.isDebugEnabled()){
- log.debug(String.format("Scale check executed for : %s ", obj));
- }
- return handle;
- }
- public static FactHandle evaluateDependentScaleCheck(StatefulKnowledgeSession ksession, FactHandle handle, Object obj) {
if (handle == null) {
- ksession.setGlobal("$delegator", new RuleTasksDelegator());
+ ksession.setGlobal("delegator", new RuleTasksDelegator());
handle = ksession.insert(obj);
} else {
ksession.update(handle, obj);
}
ksession.fireAllRules();
if(log.isDebugEnabled()){
- log.debug(String.format("Dependent scale check executed for : %s ", obj));
- }
- return handle;
- }
-
- public static FactHandle evaluateTerminateAll(StatefulKnowledgeSession ksession, FactHandle handle, Object obj) {
- if (handle == null) {
- ksession.setGlobal("$delegator", new RuleTasksDelegator());
- handle = ksession.insert(obj);
- } else {
- ksession.update(handle, obj);
- }
- ksession.fireAllRules();
- if(log.isDebugEnabled()){
- log.debug(String.format("Terminate all check executed for : %s ", obj));
- }
- return handle;
- }
-
- public static FactHandle evaluateTerminateDependency(StatefulKnowledgeSession ksession, FactHandle handle, Object obj) {
- if(log.isDebugEnabled()){
- log.debug(String.format("Terminate dependency check executing for : %s ", obj));
- }
- if (handle == null) {
- ksession.setGlobal("$delegator", new RuleTasksDelegator());
- handle = ksession.insert(obj);
- } else {
- ksession.update(handle, obj);
- }
- if(log.isDebugEnabled()){
- log.debug(String.format("Terminate dependency check firing rules for : %s ", ksession));
- }
- ksession.fireAllRules();
- if(log.isDebugEnabled()){
- log.debug(String.format("Terminate dependency check executed for : %s ", obj));
+ log.debug(String.format("Minimum check executed for : %s ", obj));
}
return handle;
}
+//
+// public static FactHandle evaluateObsoleteCheck(StatefulKnowledgeSession ksession, FactHandle handle, Object obj) {
+// if (handle == null) {
+// ksession.setGlobal("delegator", new RuleTasksDelegator());
+// handle = ksession.insert(obj);
+// } else {
+// ksession.update(handle, obj);
+// }
+// ksession.fireAllRules();
+// if(log.isDebugEnabled()){
+// log.debug(String.format("Obsolete check executed for : %s ", obj));
+// }
+// return handle;
+// }
+//
+// public static FactHandle evaluateScaleCheck(StatefulKnowledgeSession ksession, FactHandle handle, Object obj) {
+// if (handle == null) {
+// ksession.setGlobal("delegator", new RuleTasksDelegator());
+// handle = ksession.insert(obj);
+// } else {
+// ksession.update(handle, obj);
+// }
+// ksession.fireAllRules();
+// if(log.isDebugEnabled()){
+// log.debug(String.format("Scale check executed for : %s ", obj));
+// }
+// return handle;
+// }
+//
+// public static FactHandle evaluateDependentScaleCheck(StatefulKnowledgeSession ksession, FactHandle handle, Object obj) {
+// if (handle == null) {
+// ksession.setGlobal("delegator", new RuleTasksDelegator());
+// handle = ksession.insert(obj);
+// } else {
+// ksession.update(handle, obj);
+// }
+// ksession.fireAllRules();
+// if(log.isDebugEnabled()){
+// log.debug(String.format("Dependent scale check executed for : %s ", obj));
+// }
+// return handle;
+// }
+//
+// public static FactHandle evaluateTerminateAll(StatefulKnowledgeSession ksession, FactHandle handle, Object obj) {
+// if (handle == null) {
+// ksession.setGlobal("delegator", new RuleTasksDelegator());
+// handle = ksession.insert(obj);
+// } else {
+// ksession.update(handle, obj);
+// }
+// ksession.fireAllRules();
+// if(log.isDebugEnabled()){
+// log.debug(String.format("Terminate all check executed for : %s ", obj));
+// }
+// return handle;
+// }
+//
+// public static FactHandle evaluateTerminateDependency(StatefulKnowledgeSession ksession, FactHandle handle, Object obj) {
+// if(log.isDebugEnabled()){
+// log.debug(String.format("Terminate dependency check executing for : %s ", obj));
+// }
+// if (handle == null) {
+// ksession.setGlobal("delegator", new RuleTasksDelegator());
+// handle = ksession.insert(obj);
+// } else {
+// ksession.update(handle, obj);
+// }
+// if(log.isDebugEnabled()){
+// log.debug(String.format("Terminate dependency check firing rules for : %s ", ksession));
+// }
+// ksession.fireAllRules();
+// if(log.isDebugEnabled()){
+// log.debug(String.format("Terminate dependency check executed for : %s ", obj));
+// }
+// return handle;
+// }
- public StatefulKnowledgeSession getMinCheckStatefulSession() {
- StatefulKnowledgeSession ksession;
- ksession = minCheckKbase.newStatefulKnowledgeSession();
- ksession.setGlobal("log", RuleLog.getInstance());
- return ksession;
- }
-
- public StatefulKnowledgeSession getObsoleteCheckStatefulSession() {
- StatefulKnowledgeSession ksession;
- ksession = obsoleteCheckKbase.newStatefulKnowledgeSession();
- ksession.setGlobal("log", RuleLog.getInstance());
- return ksession;
- }
-
- public StatefulKnowledgeSession getScaleCheckStatefulSession() {
+ public StatefulKnowledgeSession getStatefulSession(String drlFileName) {
StatefulKnowledgeSession ksession;
- ksession = scaleCheckKbase.newStatefulKnowledgeSession();
+ ksession = knowledgeBases.get(drlFileName).newStatefulKnowledgeSession();
ksession.setGlobal("log", RuleLog.getInstance());
return ksession;
}
- public StatefulKnowledgeSession getTerminateAllStatefulSession() {
- StatefulKnowledgeSession ksession;
- ksession = scaleCheckKbase.newStatefulKnowledgeSession();
- ksession.setGlobal("log", RuleLog.getInstance());
- return ksession;
- }
+// public StatefulKnowledgeSession getObsoleteCheckStatefulSession() {
+// StatefulKnowledgeSession ksession;
+// ksession = obsoleteCheckKbase.newStatefulKnowledgeSession();
+// ksession.setGlobal("log", RuleLog.getInstance());
+// return ksession;
+// }
+//
+// public StatefulKnowledgeSession getScaleCheckStatefulSession() {
+// StatefulKnowledgeSession ksession;
+// ksession = scaleCheckKbase.newStatefulKnowledgeSession();
+// ksession.setGlobal("log", RuleLog.getInstance());
+// return ksession;
+// }
+//
+// public StatefulKnowledgeSession getTerminateAllStatefulSession() {
+// StatefulKnowledgeSession ksession;
+// ksession = scaleCheckKbase.newStatefulKnowledgeSession();
+// ksession.setGlobal("log", RuleLog.getInstance());
+// return ksession;
+// }
// public static String getLbClusterId(ClusterLevelPartitionContext clusterMonitorPartitionContext, String nwpartitionId) {
// Properties props = clusterMonitorPartitionContext.getProperties();