You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by im...@apache.org on 2015/03/22 17:09:47 UTC

stratos git commit: Adding logic to publish complete application, complete application signup and complete tenant events once stratos manager becomes active

Repository: stratos
Updated Branches:
  refs/heads/master f13f66313 -> 765651af0


Adding logic to publish complete application, complete application signup and complete tenant events once stratos manager becomes active


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

Branch: refs/heads/master
Commit: 765651af063197bde7ee37c2f2ab97894c636c40
Parents: f13f663
Author: Imesh Gunaratne <im...@apache.org>
Authored: Sun Mar 22 21:39:28 2015 +0530
Committer: Imesh Gunaratne <im...@apache.org>
Committed: Sun Mar 22 21:39:28 2015 +0530

----------------------------------------------------------------------
 .../internal/AutoscalerServiceComponent.java      | 18 +++++++++++++++---
 .../internal/StratosManagerServiceComponent.java  | 18 +++++++++++++++++-
 .../ApplicationSignUpSynchronizerTask.java        |  4 ++++
 .../application/CompleteApplicationsEvent.java    |  1 +
 .../ApplicationsEventMessageListener.java         |  2 +-
 5 files changed, 38 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/765651af/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/internal/AutoscalerServiceComponent.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/internal/AutoscalerServiceComponent.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/internal/AutoscalerServiceComponent.java
index 9fd9b68..3c03807 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/internal/AutoscalerServiceComponent.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/internal/AutoscalerServiceComponent.java
@@ -23,6 +23,7 @@ import org.apache.commons.configuration.XMLConfiguration;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.stratos.autoscaler.algorithms.networkpartition.NetworkPartitionAlgorithmContext;
+import org.apache.stratos.autoscaler.applications.ApplicationSynchronizeTask;
 import org.apache.stratos.autoscaler.applications.ApplicationSynchronizerTaskScheduler;
 import org.apache.stratos.autoscaler.context.AutoscalerContext;
 import org.apache.stratos.autoscaler.event.receiver.health.AutoscalerHealthStatEventReceiver;
@@ -39,6 +40,7 @@ import org.apache.stratos.autoscaler.util.AutoscalerConstants;
 import org.apache.stratos.autoscaler.util.ConfUtil;
 import org.apache.stratos.autoscaler.util.ServiceReferenceHolder;
 import org.apache.stratos.common.Component;
+import org.apache.stratos.common.services.ComponentActivationEventListener;
 import org.apache.stratos.common.services.ComponentStartUpSynchronizer;
 import org.apache.stratos.common.services.DistributedObjectProvider;
 import org.apache.stratos.common.threading.StratosThreadPool;
@@ -194,9 +196,19 @@ public class AutoscalerServiceComponent {
 			log.info("Scheduling tasks to publish applications");
 		}
 
-		ApplicationSynchronizerTaskScheduler
-				.schedule(ServiceReferenceHolder.getInstance()
-				                                .getTaskService());
+		ApplicationSynchronizerTaskScheduler.schedule(ServiceReferenceHolder.getInstance().getTaskService());
+
+        ComponentStartUpSynchronizer componentStartUpSynchronizer =
+                ServiceReferenceHolder.getInstance().getComponentStartUpSynchronizer();
+        componentStartUpSynchronizer.addEventListener(new ComponentActivationEventListener() {
+            @Override
+            public void activated(Component component) {
+                if(component == Component.StratosManager) {
+                    ApplicationSynchronizeTask applicationSynchronizeTask = new ApplicationSynchronizeTask();
+                    applicationSynchronizeTask.execute();
+                }
+            }
+        });
 	}
 
     protected void deactivate(ComponentContext context) {

http://git-wip-us.apache.org/repos/asf/stratos/blob/765651af/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/internal/StratosManagerServiceComponent.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/internal/StratosManagerServiceComponent.java b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/internal/StratosManagerServiceComponent.java
index cd3215c..4c1dbf4 100644
--- a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/internal/StratosManagerServiceComponent.java
+++ b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/internal/StratosManagerServiceComponent.java
@@ -22,6 +22,7 @@ import com.hazelcast.core.HazelcastInstance;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.stratos.common.Component;
+import org.apache.stratos.common.services.ComponentActivationEventListener;
 import org.apache.stratos.common.services.ComponentStartUpSynchronizer;
 import org.apache.stratos.common.services.DistributedObjectProvider;
 import org.apache.stratos.common.threading.StratosThreadPool;
@@ -244,13 +245,28 @@ public class StratosManagerServiceComponent {
         if(log.isDebugEnabled()) {
             log.debug("Initializing tenant event publisher...");
         }
-        TenantEventPublisher tenantEventPublisher = new TenantEventPublisher();
+        final TenantEventPublisher tenantEventPublisher = new TenantEventPublisher();
         componentContext.getBundleContext().registerService(
                 org.apache.stratos.common.listeners.TenantMgtListener.class.getName(),
                 tenantEventPublisher, null);
         if(log.isInfoEnabled()) {
             log.info("Tenant event publisher initialized");
         }
+
+        ComponentStartUpSynchronizer componentStartUpSynchronizer =
+                ServiceReferenceHolder.getInstance().getComponentStartUpSynchronizer();
+        componentStartUpSynchronizer.addEventListener(new ComponentActivationEventListener() {
+            @Override
+            public void activated(Component component) {
+                if(component == Component.StratosManager) {
+                    TenantSynzhronizerTask tenantSynzhronizerTask = new TenantSynzhronizerTask();
+                    tenantSynzhronizerTask.execute();
+
+                    ApplicationSignUpSynchronizerTask applicationSignUpSynchronizerTask = new ApplicationSignUpSynchronizerTask();
+                    applicationSignUpSynchronizerTask.execute();
+                }
+            }
+        });
     }
 
     protected void setConfigurationContextService(ConfigurationContextService contextService) {

http://git-wip-us.apache.org/repos/asf/stratos/blob/765651af/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/messaging/publisher/synchronizer/ApplicationSignUpSynchronizerTask.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/messaging/publisher/synchronizer/ApplicationSignUpSynchronizerTask.java b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/messaging/publisher/synchronizer/ApplicationSignUpSynchronizerTask.java
index f33f97a..adf6756 100644
--- a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/messaging/publisher/synchronizer/ApplicationSignUpSynchronizerTask.java
+++ b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/messaging/publisher/synchronizer/ApplicationSignUpSynchronizerTask.java
@@ -38,6 +38,10 @@ public class ApplicationSignUpSynchronizerTask implements Task {
 
     private ApplicationSignUpHandler applicationSignUpHandler;
 
+    public ApplicationSignUpSynchronizerTask() {
+        init();
+    }
+
     @Override
     public void setProperties(Map<String, String> map) {
     }

http://git-wip-us.apache.org/repos/asf/stratos/blob/765651af/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/application/CompleteApplicationsEvent.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/application/CompleteApplicationsEvent.java b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/application/CompleteApplicationsEvent.java
index cd24a5e..bf92a96 100644
--- a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/application/CompleteApplicationsEvent.java
+++ b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/application/CompleteApplicationsEvent.java
@@ -30,6 +30,7 @@ import java.io.Serializable;
  * before receiving other topology events.
  */
 public class CompleteApplicationsEvent extends TopologyEvent implements Serializable {
+
     private static final long serialVersionUID = 8580862188444892004L;
 
     private final Applications applications;

http://git-wip-us.apache.org/repos/asf/stratos/blob/765651af/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/receiver/application/ApplicationsEventMessageListener.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/receiver/application/ApplicationsEventMessageListener.java b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/receiver/application/ApplicationsEventMessageListener.java
index 1e5598e..cbd2ea6 100644
--- a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/receiver/application/ApplicationsEventMessageListener.java
+++ b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/receiver/application/ApplicationsEventMessageListener.java
@@ -36,7 +36,7 @@ public class ApplicationsEventMessageListener implements MessageListener {
     public void messageReceived(Message message) {
         try {
             if (log.isDebugEnabled()) {
-                log.debug(String.format("Tenant message received: %s", message.getText()));
+                log.debug(String.format("Application event message received: %s", message.getText()));
             }
             // Add received message to the queue
             messageQueue.add(message);