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 <[email protected]> Authored: Wed Oct 29 15:40:54 2014 +0530 Committer: reka <[email protected]> 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()));
