You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by re...@apache.org on 2014/10/29 11:11:06 UTC
git commit: refatcoring the monitors
Repository: stratos
Updated Branches:
refs/heads/4.0.0-grouping 062cd7b40 -> 55e3eff1f
refatcoring the monitors
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/55e3eff1
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/55e3eff1
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/55e3eff1
Branch: refs/heads/4.0.0-grouping
Commit: 55e3eff1fb0a8a341c1adc0f9122aaad33be0756
Parents: 062cd7b
Author: reka <rt...@gmail.com>
Authored: Wed Oct 29 15:40:54 2014 +0530
Committer: reka <rt...@gmail.com>
Committed: Wed Oct 29 15:40:54 2014 +0530
----------------------------------------------------------------------
.../monitor/ParentComponentMonitor.java | 10 +----
.../monitor/application/ApplicationMonitor.java | 41 ++++++++---------
.../autoscaler/monitor/group/GroupMonitor.java | 47 +++++++++-----------
3 files changed, 41 insertions(+), 57 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/stratos/blob/55e3eff1/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/ParentComponentMonitor.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/ParentComponentMonitor.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/ParentComponentMonitor.java
index f6857f7..298516c 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/ParentComponentMonitor.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/ParentComponentMonitor.java
@@ -55,15 +55,7 @@ public abstract class ParentComponentMonitor extends Monitor {
//Building the dependency for this monitor within the immediate children
dependencyTree = DependencyBuilder.getInstance().buildDependency(component);
}
-
- /**
- * Will monitor the immediate children upon any event triggers from parent/children
- *
- * @param statusEvent will be sent by parent/children with the current status
- */
- protected abstract void monitor(MonitorStatusEvent statusEvent);
-
-
+
/**
* This will start the child monitors based on the active of siblings according to start up order
*
http://git-wip-us.apache.org/repos/asf/stratos/blob/55e3eff1/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/application/ApplicationMonitor.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/application/ApplicationMonitor.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/application/ApplicationMonitor.java
index 337a5c5..35f4a70 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/application/ApplicationMonitor.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/application/ApplicationMonitor.java
@@ -22,7 +22,6 @@ import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.stratos.autoscaler.exception.DependencyBuilderException;
import org.apache.stratos.autoscaler.exception.TopologyInConsistentException;
-import org.apache.stratos.autoscaler.grouping.dependency.context.ApplicationContext;
import org.apache.stratos.autoscaler.monitor.AbstractClusterMonitor;
import org.apache.stratos.autoscaler.monitor.Monitor;
import org.apache.stratos.autoscaler.monitor.MonitorStatusEventBuilder;
@@ -32,11 +31,13 @@ import org.apache.stratos.autoscaler.monitor.events.MonitorScalingEvent;
import org.apache.stratos.autoscaler.monitor.events.MonitorStatusEvent;
import org.apache.stratos.autoscaler.monitor.events.MonitorTerminateAllEvent;
import org.apache.stratos.autoscaler.status.checker.StatusChecker;
-import org.apache.stratos.messaging.domain.topology.*;
+import org.apache.stratos.messaging.domain.topology.Application;
+import org.apache.stratos.messaging.domain.topology.ApplicationStatus;
+import org.apache.stratos.messaging.domain.topology.ClusterStatus;
+import org.apache.stratos.messaging.domain.topology.GroupStatus;
import org.apache.stratos.messaging.domain.topology.lifecycle.LifeCycleState;
-import org.apache.stratos.messaging.message.receiver.topology.TopologyManager;
-import java.util.*;
+import java.util.Collection;
/**
* ApplicationMonitor is to control the child monitors
@@ -107,7 +108,7 @@ public class ApplicationMonitor extends ParentComponentMonitor {
public Monitor findGroupMonitorWithId(String groupId) {
Monitor monitor;
monitor = findGroupMonitor(groupId, aliasToActiveMonitorsMap.values());
- if(monitor == null) {
+ if (monitor == null) {
monitor = findGroupMonitor(groupId, aliasToInActiveMonitorsMap.values());
}
return monitor;
@@ -145,28 +146,13 @@ public class ApplicationMonitor extends ParentComponentMonitor {
log.info(String.format("[ApplicationMonitor] %s " +
"state changes from %s to %s", id, this.status, status));
- this.status = status;
- //notify the children about the state change
- MonitorStatusEventBuilder.notifyChildren(this.parent, new ApplicationStatusEvent(status, appId));
+ this.status = status;
+ //notify the children about the state change
+ MonitorStatusEventBuilder.notifyChildren(this.parent, new ApplicationStatusEvent(status, appId));
}
@Override
public void onChildEvent(MonitorStatusEvent statusEvent) {
- monitor(statusEvent);
- }
-
- @Override
- public void onEvent(MonitorTerminateAllEvent terminateAllEvent) {
-
- }
-
- @Override
- public void onEvent(MonitorScalingEvent scalingEvent) {
-
- }
-
- @Override
- protected void monitor(MonitorStatusEvent statusEvent) {
String id = statusEvent.getId();
LifeCycleState status1 = statusEvent.getStatus();
//Events coming from parent are In_Active(in faulty detection), Scaling events, termination
@@ -191,6 +177,15 @@ public class ApplicationMonitor extends ParentComponentMonitor {
log.info("Executing the un-subscription request for the [monitor] " + id);
}
}
+ }
+
+ @Override
+ public void onEvent(MonitorTerminateAllEvent terminateAllEvent) {
+
+ }
+
+ @Override
+ public void onEvent(MonitorScalingEvent scalingEvent) {
}
}
http://git-wip-us.apache.org/repos/asf/stratos/blob/55e3eff1/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/group/GroupMonitor.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/group/GroupMonitor.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/group/GroupMonitor.java
index 2fe5ae7..64cc28c 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/group/GroupMonitor.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/group/GroupMonitor.java
@@ -25,7 +25,10 @@ import org.apache.stratos.autoscaler.exception.TopologyInConsistentException;
import org.apache.stratos.autoscaler.monitor.EventHandler;
import org.apache.stratos.autoscaler.monitor.MonitorStatusEventBuilder;
import org.apache.stratos.autoscaler.monitor.ParentComponentMonitor;
-import org.apache.stratos.autoscaler.monitor.events.*;
+import org.apache.stratos.autoscaler.monitor.events.GroupStatusEvent;
+import org.apache.stratos.autoscaler.monitor.events.MonitorScalingEvent;
+import org.apache.stratos.autoscaler.monitor.events.MonitorStatusEvent;
+import org.apache.stratos.autoscaler.monitor.events.MonitorTerminateAllEvent;
import org.apache.stratos.autoscaler.status.checker.StatusChecker;
import org.apache.stratos.messaging.domain.topology.ClusterStatus;
import org.apache.stratos.messaging.domain.topology.Group;
@@ -58,22 +61,6 @@ public class GroupMonitor extends ParentComponentMonitor implements EventHandler
@Override
public void onChildEvent(MonitorStatusEvent statusEvent) {
- monitor(statusEvent);
- }
-
- @Override
- public void onEvent(MonitorTerminateAllEvent terminateAllEvent) {
- this.terminateChildren = true;
-
- }
-
- @Override
- public void onEvent(MonitorScalingEvent scalingEvent) {
-
- }
-
- @Override
- protected void monitor(MonitorStatusEvent statusEvent) {
String id = statusEvent.getId();
LifeCycleState status1 = statusEvent.getStatus();
//Events coming from parent are In_Active(in faulty detection), Scaling events, termination
@@ -99,6 +86,16 @@ public class GroupMonitor extends ParentComponentMonitor implements EventHandler
log.info("Executing the un-subscription request for the [monitor] " + id);
}
}
+ }
+
+ @Override
+ public void onEvent(MonitorTerminateAllEvent terminateAllEvent) {
+ this.terminateChildren = true;
+
+ }
+
+ @Override
+ public void onEvent(MonitorScalingEvent scalingEvent) {
}
@@ -139,14 +136,14 @@ public class GroupMonitor extends ParentComponentMonitor implements EventHandler
log.info(String.format("[Monitor] %s is notifying the parent" +
"on its state change from %s to %s", id, this.status, status));
//if(this.status != status) {
- this.status = status;
- //notifying the parent
- if (status == GroupStatus.Inactive && !this.hasDependent) {
- log.info("[Group] " + this.id + "is not notifying the parent, " +
- "since it is identified as the independent unit");
- } else {
- MonitorStatusEventBuilder.handleGroupStatusEvent(this.parent, this.status, this.id);
- }
+ this.status = status;
+ //notifying the parent
+ if (status == GroupStatus.Inactive && !this.hasDependent) {
+ log.info("[Group] " + this.id + "is not notifying the parent, " +
+ "since it is identified as the independent unit");
+ } else {
+ MonitorStatusEventBuilder.handleGroupStatusEvent(this.parent, this.status, this.id);
+ }
//}
//notify the children about the state change
MonitorStatusEventBuilder.notifyChildren(this.parent, new GroupStatusEvent(status, getId()));