You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by sa...@apache.org on 2014/10/06 19:22:00 UTC
[08/11] git commit: using executor instead of nornal threads
using executor instead of nornal threads
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/909c705b
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/909c705b
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/909c705b
Branch: refs/heads/master
Commit: 909c705bc34a26459b4d8c2982742e0301ccf979
Parents: d98fbcb
Author: R-Rajkumar <rr...@gmail.com>
Authored: Mon Oct 6 11:11:08 2014 +0530
Committer: R-Rajkumar <rr...@gmail.com>
Committed: Mon Oct 6 11:11:08 2014 +0530
----------------------------------------------------------------------
.../topology/AutoscalerTopologyEventReceiver.java | 8 ++++----
.../autoscaler/monitor/AbstractClusterMonitor.java | 14 ++++++++++++++
.../monitor/KubernetesServiceClusterMonitor.java | 7 +------
.../autoscaler/monitor/VMLbClusterMonitor.java | 7 +------
.../autoscaler/monitor/VMServiceClusterMonitor.java | 7 +------
5 files changed, 21 insertions(+), 22 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/stratos/blob/909c705b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/message/receiver/topology/AutoscalerTopologyEventReceiver.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/message/receiver/topology/AutoscalerTopologyEventReceiver.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/message/receiver/topology/AutoscalerTopologyEventReceiver.java
index e857eaf..de058ec 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/message/receiver/topology/AutoscalerTopologyEventReceiver.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/message/receiver/topology/AutoscalerTopologyEventReceiver.java
@@ -342,10 +342,10 @@ public class AutoscalerTopologyEventReceiver implements Runnable {
log.error(msg);
throw new RuntimeException(msg);
}
- //TODO private final ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1);
- // scheduler.scheduleAtFixedRate(monitor, 0, getMonitorInterval(), TimeUnit.MILLISECONDS);
- Thread th = new Thread(monitor);
- th.start();
+
+// Thread th = new Thread(monitor);
+// th.start();
+ monitor.startScheduler();
AutoscalerContext.getInstance().addClusterMonitor(monitor);
if (log.isInfoEnabled()) {
log.info(String.format("Cluster monitor has been added successfully: [cluster] %s",
http://git-wip-us.apache.org/repos/asf/stratos/blob/909c705b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/AbstractClusterMonitor.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/AbstractClusterMonitor.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/AbstractClusterMonitor.java
index 6061c3b..e44bd72 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/AbstractClusterMonitor.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/AbstractClusterMonitor.java
@@ -18,6 +18,10 @@
*/
package org.apache.stratos.autoscaler.monitor;
+import java.util.concurrent.Executors;
+import java.util.concurrent.ScheduledExecutorService;
+import java.util.concurrent.TimeUnit;
+
import org.apache.stratos.autoscaler.rule.AutoscalerRuleEvaluator;
import org.apache.stratos.messaging.domain.topology.ClusterStatus;
import org.apache.stratos.messaging.event.health.stat.AverageLoadAverageEvent;
@@ -62,6 +66,8 @@ public abstract class AbstractClusterMonitor implements Runnable {
private boolean isDestroyed;
private AutoscalerRuleEvaluator autoscalerRuleEvaluator;
+
+ private final ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1);
protected AbstractClusterMonitor(String clusterId, String serviceId,
AutoscalerRuleEvaluator autoscalerRuleEvaluator) {
@@ -75,6 +81,14 @@ public abstract class AbstractClusterMonitor implements Runnable {
}
protected abstract void readConfigurations();
+
+ public void startScheduler() {
+ scheduler.scheduleAtFixedRate(this, 0, getMonitorIntervalMilliseconds(), TimeUnit.MILLISECONDS);
+ }
+
+ protected void stopScheduler() {
+ scheduler.shutdownNow();
+ }
protected abstract void monitor();
http://git-wip-us.apache.org/repos/asf/stratos/blob/909c705b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/KubernetesServiceClusterMonitor.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/KubernetesServiceClusterMonitor.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/KubernetesServiceClusterMonitor.java
index 3c81ba3..93580d9 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/KubernetesServiceClusterMonitor.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/KubernetesServiceClusterMonitor.java
@@ -59,7 +59,6 @@ public final class KubernetesServiceClusterMonitor extends KubernetesClusterMoni
@Override
public void run() {
- while (!isDestroyed()) {
if (log.isDebugEnabled()) {
log.debug("KubernetesServiceClusterMonitor is running.. " + this.toString());
}
@@ -76,11 +75,6 @@ public final class KubernetesServiceClusterMonitor extends KubernetesClusterMoni
log.error("KubernetesServiceClusterMonitor : Monitor failed." + this.toString(),
e);
}
- try {
- Thread.sleep(getMonitorIntervalMilliseconds());
- } catch (InterruptedException ignore) {
- }
- }
}
@Override
@@ -148,6 +142,7 @@ public final class KubernetesServiceClusterMonitor extends KubernetesClusterMoni
getMinCheckKnowledgeSession().dispose();
getScaleCheckKnowledgeSession().dispose();
setDestroyed(true);
+ stopScheduler();
if (log.isDebugEnabled()) {
log.debug("KubernetesServiceClusterMonitor Drools session has been disposed. " + this.toString());
}
http://git-wip-us.apache.org/repos/asf/stratos/blob/909c705b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/VMLbClusterMonitor.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/VMLbClusterMonitor.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/VMLbClusterMonitor.java
index a0c66f0..f950f9d 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/VMLbClusterMonitor.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/VMLbClusterMonitor.java
@@ -57,7 +57,6 @@ public class VMLbClusterMonitor extends VMClusterMonitor {
@Override
public void run() {
- while (!isDestroyed()) {
if (log.isDebugEnabled()) {
log.debug("VMLbClusterMonitor is running.. " + this.toString());
}
@@ -73,11 +72,6 @@ public class VMLbClusterMonitor extends VMClusterMonitor {
} catch (Exception e) {
log.error("VMLbClusterMonitor : Monitor failed. " + this.toString(), e);
}
- try {
- Thread.sleep(getMonitorIntervalMilliseconds());
- } catch (InterruptedException ignore) {
- }
- }
}
@Override
@@ -116,6 +110,7 @@ public class VMLbClusterMonitor extends VMClusterMonitor {
getMinCheckKnowledgeSession().dispose();
getMinCheckKnowledgeSession().dispose();
setDestroyed(true);
+ stopScheduler();
if (log.isDebugEnabled()) {
log.debug("VMLbClusterMonitor Drools session has been disposed. " + this.toString());
}
http://git-wip-us.apache.org/repos/asf/stratos/blob/909c705b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/VMServiceClusterMonitor.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/VMServiceClusterMonitor.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/VMServiceClusterMonitor.java
index 0452e32..d8c9e69 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/VMServiceClusterMonitor.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/VMServiceClusterMonitor.java
@@ -67,7 +67,6 @@ public class VMServiceClusterMonitor extends VMClusterMonitor {
} catch (InterruptedException ignore) {
}
- while (!isDestroyed()) {
if (log.isDebugEnabled()) {
log.debug("VMServiceClusterMonitor is running.. " + this.toString());
}
@@ -83,11 +82,6 @@ public class VMServiceClusterMonitor extends VMClusterMonitor {
} catch (Exception e) {
log.error("VMServiceClusterMonitor : Monitor failed." + this.toString(), e);
}
- try {
- Thread.sleep(getMonitorIntervalMilliseconds());
- } catch (InterruptedException ignore) {
- }
- }
}
@Override
@@ -199,6 +193,7 @@ public class VMServiceClusterMonitor extends VMClusterMonitor {
getMinCheckKnowledgeSession().dispose();
getScaleCheckKnowledgeSession().dispose();
setDestroyed(true);
+ stopScheduler();
if (log.isDebugEnabled()) {
log.debug("VMServiceClusterMonitor Drools session has been disposed. " + this.toString());
}