adding status topic receiver in CC and fixing issues in cluster monitor
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/f8ca4b27 Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/f8ca4b27 Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/f8ca4b27 Branch: refs/heads/4.0.0-grouping Commit: f8ca4b27876f62623cdb7ea2ff1d711c90c36049 Parents: a34b615 Author: reka <[email protected]> Authored: Thu Sep 25 11:46:41 2014 +0530 Committer: reka <[email protected]> Committed: Thu Sep 25 11:46:41 2014 +0530 ---------------------------------------------------------------------- .../monitor/application/ApplicationMonitor.java | 2 +- .../autoscaler/monitor/cluster/ClusterMonitor.java | 2 +- .../stratos/autoscaler/monitor/group/GroupMonitor.java | 2 +- .../controller/internal/CloudControllerDSComponent.java | 12 +++++++++++- 4 files changed, 14 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/stratos/blob/f8ca4b27/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 b5dcbdb..963b24a 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 @@ -78,7 +78,7 @@ public class ApplicationMonitor extends Monitor { cluster = TopologyManager.getTopology().getService(serviceName).getCluster(clusterId); TopologyManager.releaseReadLock(); if (cluster != null) { - startClusterMonitor(cluster); + startClusterMonitor(this,cluster); } else { //TODO throw exception since Topology is inconsistent } http://git-wip-us.apache.org/repos/asf/stratos/blob/f8ca4b27/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/ClusterMonitor.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/ClusterMonitor.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/ClusterMonitor.java index 30a4275..8c1e508 100644 --- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/ClusterMonitor.java +++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/ClusterMonitor.java @@ -77,7 +77,7 @@ public class ClusterMonitor extends AbstractClusterMonitor { } catch (InterruptedException ignore) { }*/ //this.status = Status.Running; - while (!isDestroyed() && status.getCode() >= Status.Running.getCode()) { + while (!isDestroyed()) { if (log.isDebugEnabled()) { log.debug("Cluster monitor is running.. " + this.toString()); } http://git-wip-us.apache.org/repos/asf/stratos/blob/f8ca4b27/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 2f297bb..4b5d62b 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 @@ -74,7 +74,7 @@ public class GroupMonitor extends Monitor { cluster = TopologyManager.getTopology().getService(serviceName).getCluster(clusterId); TopologyManager.releaseReadLock(); if (cluster != null) { - startClusterMonitor(cluster); + startClusterMonitor(this, cluster); } else { //TODO throw exception since Topology is inconsistent } http://git-wip-us.apache.org/repos/asf/stratos/blob/f8ca4b27/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/internal/CloudControllerDSComponent.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/internal/CloudControllerDSComponent.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/internal/CloudControllerDSComponent.java index 572e619..5831948 100644 --- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/internal/CloudControllerDSComponent.java +++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/internal/CloudControllerDSComponent.java @@ -23,6 +23,7 @@ package org.apache.stratos.cloud.controller.internal; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.apache.stratos.cloud.controller.application.status.receiver.ApplicationStatusTopicReceiver; import org.apache.stratos.cloud.controller.exception.CloudControllerException; import org.apache.stratos.cloud.controller.impl.CloudControllerServiceImpl; import org.apache.stratos.cloud.controller.interfaces.CloudControllerService; @@ -33,6 +34,7 @@ import org.apache.stratos.cloud.controller.util.CloudControllerConstants; import org.apache.stratos.cloud.controller.util.ServiceReferenceHolder; import org.apache.stratos.messaging.broker.publish.EventPublisherPool; import org.apache.stratos.messaging.broker.subscribe.TopicSubscriber; +import org.apache.stratos.messaging.message.receiver.application.status.ApplicationStatusEventReceiver; import org.apache.stratos.messaging.util.Constants; import org.osgi.framework.BundleContext; import org.osgi.service.component.ComponentContext; @@ -63,7 +65,7 @@ import org.wso2.carbon.utils.ConfigurationContextService; public class CloudControllerDSComponent { private static final Log log = LogFactory.getLog(CloudControllerDSComponent.class); - + private ApplicationStatusTopicReceiver applicationStatusTopicReceiver; protected void activate(ComponentContext context) { try { @@ -77,6 +79,14 @@ public class CloudControllerDSComponent { InstanceStatusEventMessageDelegator delegator = new InstanceStatusEventMessageDelegator(); Thread tdelegator = new Thread(delegator); tdelegator.start(); + + applicationStatusTopicReceiver = new ApplicationStatusTopicReceiver(); + Thread appThread = new Thread(applicationStatusTopicReceiver); + appThread.start(); + if (log.isDebugEnabled()) { + log.debug("Application status Receiver thread started"); + } + // Register cloud controller service BundleContext bundleContext = context.getBundleContext();
