Repository: stratos Updated Branches: refs/heads/4.0.0-grouping e2994c4ff -> 3c43277e7
correcting an issue in notify child logic Project: http://git-wip-us.apache.org/repos/asf/stratos/repo Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/3c43277e Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/3c43277e Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/3c43277e Branch: refs/heads/4.0.0-grouping Commit: 3c43277e73f2ab096a65f944d90d9e101c8c4e14 Parents: e2994c4 Author: Isuru Haththotuwa <[email protected]> Authored: Wed Oct 29 17:27:57 2014 +0530 Committer: Isuru Haththotuwa <[email protected]> Committed: Wed Oct 29 17:27:57 2014 +0530 ---------------------------------------------------------------------- .../monitor/ParentComponentMonitor.java | 24 -------------------- .../monitor/application/ApplicationMonitor.java | 5 ++++ .../autoscaler/monitor/group/GroupMonitor.java | 11 +++++++++ 3 files changed, 16 insertions(+), 24 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/stratos/blob/3c43277e/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 298516c..fa8f425 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 @@ -106,30 +106,6 @@ public abstract class ParentComponentMonitor extends Monitor { } }*/ - @Override - public void onParentEvent(MonitorStatusEvent statusEvent) { - - if (statusEvent.getStatus() == GroupStatus.Terminating || statusEvent.getStatus() == - ApplicationStatus.Terminating) { - - // parent monitor is in Terminating state. send Terminating event for all monitors - for (Monitor childMonitor : this.getAliasToActiveMonitorsMap().values()) { - if (childMonitor.hasActiveMonitors()) { - // this is a Group Monitor, send Group Terminating - StatusEventPublisher.sendGroupTerminatingEvent(appId, childMonitor.getId()); - markMonitorAsInactive(childMonitor.getId()); - } else { - // this is a Cluster Monitor, send Cluster Terminating - StatusEventPublisher.sendClusterTerminatingEvent(appId, - ((AbstractClusterMonitor) childMonitor).getServiceId(), - ((AbstractClusterMonitor) childMonitor).getClusterId()); - markMonitorAsInactive(((AbstractClusterMonitor) childMonitor).getClusterId()); - } - - } - } - } - // move to inactive monitors list to use in the Terminated event private synchronized void markMonitorAsInactive (String monitorKey) { http://git-wip-us.apache.org/repos/asf/stratos/blob/3c43277e/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 dc53403..1ec7399 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 @@ -180,6 +180,11 @@ public class ApplicationMonitor extends ParentComponentMonitor { } @Override + public void onParentEvent(MonitorStatusEvent statusEvent) { + // nothing to do + } + + @Override public void onEvent(MonitorTerminateAllEvent terminateAllEvent) { } http://git-wip-us.apache.org/repos/asf/stratos/blob/3c43277e/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 64cc28c..9b9695a 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 @@ -22,6 +22,7 @@ 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.topic.StatusEventPublisher; import org.apache.stratos.autoscaler.monitor.EventHandler; import org.apache.stratos.autoscaler.monitor.MonitorStatusEventBuilder; import org.apache.stratos.autoscaler.monitor.ParentComponentMonitor; @@ -30,6 +31,7 @@ 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.ApplicationStatus; import org.apache.stratos.messaging.domain.topology.ClusterStatus; import org.apache.stratos.messaging.domain.topology.Group; import org.apache.stratos.messaging.domain.topology.GroupStatus; @@ -89,6 +91,15 @@ public class GroupMonitor extends ParentComponentMonitor implements EventHandler } @Override + public void onParentEvent(MonitorStatusEvent statusEvent) { + // send the ClusterTerminating event + if (statusEvent.getStatus() == GroupStatus.Terminating || statusEvent.getStatus() == + ApplicationStatus.Terminating) { + StatusEventPublisher.sendGroupTerminatingEvent(appId, id); + } + } + + @Override public void onEvent(MonitorTerminateAllEvent terminateAllEvent) { this.terminateChildren = true;
