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
