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();

Reply via email to