Repository: stratos
Updated Branches:
  refs/heads/master fce3db71a -> a47b836b3


Delegating cluster terminating to thread in order to improve the performance


Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/a47b836b
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/a47b836b
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/a47b836b

Branch: refs/heads/master
Commit: a47b836b3d41a287ed602b779bd03f71fa933477
Parents: fce3db7
Author: reka <[email protected]>
Authored: Fri Jul 3 11:24:06 2015 +0530
Committer: reka <[email protected]>
Committed: Fri Jul 3 11:24:06 2015 +0530

----------------------------------------------------------------------
 .../monitor/cluster/ClusterMonitor.java         | 29 +++++++++++++-------
 1 file changed, 19 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/a47b836b/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 241f6cd..4303f26 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
@@ -565,17 +565,26 @@ public class ClusterMonitor extends Monitor {
     }
 
     @Override
-    public void onParentStatusEvent(MonitorStatusEvent statusEvent) {
-        String instanceId = statusEvent.getInstanceId();
-        // send the ClusterTerminating event
-        if (statusEvent.getStatus() == GroupStatus.Terminating || 
statusEvent.getStatus() ==
-                ApplicationStatus.Terminating) {
-            if (log.isInfoEnabled()) {
-                log.info("Publishing Cluster terminating event for 
[application] " + appId +
-                        " [cluster] " + this.getClusterId() + " [instance] " + 
instanceId);
+    public void onParentStatusEvent(final MonitorStatusEvent statusEvent) {
+        Runnable monitoringRunnable = new Runnable() {
+            @Override
+            public void run() {
+                String instanceId = statusEvent.getInstanceId();
+                // send the ClusterTerminating event
+                if (statusEvent.getStatus() == GroupStatus.Terminating || 
statusEvent.getStatus() ==
+                        ApplicationStatus.Terminating) {
+                    if (log.isInfoEnabled()) {
+                        log.info("Publishing Cluster terminating event for 
[application] " + appId +
+                                " [cluster] " + getClusterId() + " [instance] 
" + instanceId);
+                    }
+                    
ClusterStatusEventPublisher.sendClusterStatusClusterTerminatingEvent(getAppId(),
+                            getServiceId(), getClusterId(), instanceId);
+                }
             }
-            
ClusterStatusEventPublisher.sendClusterStatusClusterTerminatingEvent(getAppId(),
 getServiceId(), getClusterId(), instanceId);
-        }
+
+        };
+        executorService.execute(monitoringRunnable);
+
     }
 
     @Override

Reply via email to