Repository: stratos Updated Branches: refs/heads/4.0.0-grouping 26a093993 -> 3560f07bc
fixing application created event Project: http://git-wip-us.apache.org/repos/asf/stratos/repo Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/59d3134e Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/59d3134e Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/59d3134e Branch: refs/heads/4.0.0-grouping Commit: 59d3134ef5d8f32787f39957f5f08db52d21e6c2 Parents: fade19d Author: reka <[email protected]> Authored: Sun Oct 12 11:04:09 2014 +0530 Committer: reka <[email protected]> Committed: Sun Oct 12 11:04:09 2014 +0530 ---------------------------------------------------------------------- .../monitor/application/ApplicationMonitor.java | 30 ++++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/stratos/blob/59d3134e/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 1505a43..01422cc 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 @@ -27,6 +27,7 @@ import org.apache.stratos.autoscaler.monitor.AbstractClusterMonitor; import org.apache.stratos.autoscaler.monitor.Monitor; import org.apache.stratos.autoscaler.monitor.events.MonitorStatusEvent; import org.apache.stratos.autoscaler.monitor.group.GroupMonitor; +import org.apache.stratos.autoscaler.status.checker.StatusChecker; import org.apache.stratos.messaging.domain.topology.Application; import org.apache.stratos.messaging.domain.topology.Status; @@ -225,9 +226,10 @@ public class ApplicationMonitor extends Monitor { @Override protected void monitor(MonitorStatusEvent statusEvent) { - ApplicationContext context = this.dependencyTree. + /*ApplicationContext context = this.dependencyTree. findApplicationContextWithId(statusEvent.getId()); - if(context.getStatusLifeCycle().isEmpty()) { + //TODO remove activated + if(context.getStatusLifeCycle().isEmpty() || context.getStatus() == Status.Activated) { try { //if life cycle is empty, need to start the monitor boolean dependencyStarted = startDependency(statusEvent.getId()); @@ -243,7 +245,31 @@ public class ApplicationMonitor extends Monitor { } } else { //TODO act based on life cycle events + }*/ + + String id = statusEvent.getId(); + ApplicationContext context = this.dependencyTree. + findApplicationContextWithId(id); + if(context.getStatusLifeCycle().isEmpty()) { + try { + //if life cycle is empty, need to start the monitor + boolean startDep = startDependency(statusEvent.getId()); + //updating the life cycle and current status + context.setStatus(statusEvent.getStatus()); + context.addStatusToLIfeCycle(statusEvent.getStatus()); + if(!startDep) { + //Checking in the children whether all are active, + // since no dependency found to be started. + StatusChecker.getInstance().onChildStatusChange(id, this.component, this.appId); + } + } catch (TopologyInConsistentException e) { + //TODO revert the siblings and notify parent, change a flag for reverting/un-subscription + log.error(e); + } + } else { + //TODO act based on life cycle events } + } }
