You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by is...@apache.org on 2015/12/24 14:04:21 UTC

[04/19] stratos git commit: making InitializerEventReceiver singleton and fixing references in components

making InitializerEventReceiver singleton and fixing references in components


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

Branch: refs/heads/stratos-4.1.x
Commit: fd39caeec2c262b4d2cdd30cb10d8a6b96cba535
Parents: 3de2c07
Author: Isuru Haththotuwa <is...@apache.org>
Authored: Wed Dec 2 18:01:16 2015 +0530
Committer: Isuru Haththotuwa <is...@apache.org>
Committed: Thu Dec 17 11:34:17 2015 +0530

----------------------------------------------------------------------
 .../AutoscalerInitializerTopicReceiver.java     | 16 ++++----
 .../internal/AutoscalerServiceComponent.java    | 10 ++---
 .../CloudControllerServiceComponent.java        |  4 +-
 .../initializer/InitializerTopicReceiver.java   | 30 +++++++--------
 .../StratosManagerServiceComponent.java         |  4 +-
 .../StratosManagerInitializerTopicReceiver.java | 32 ++++++++--------
 .../initializer/InitializerEventReceiver.java   | 40 ++++++++++++++------
 7 files changed, 77 insertions(+), 59 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/fd39caee/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/event/receiver/initializer/AutoscalerInitializerTopicReceiver.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/event/receiver/initializer/AutoscalerInitializerTopicReceiver.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/event/receiver/initializer/AutoscalerInitializerTopicReceiver.java
index da6b270..b330211 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/event/receiver/initializer/AutoscalerInitializerTopicReceiver.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/event/receiver/initializer/AutoscalerInitializerTopicReceiver.java
@@ -34,17 +34,17 @@ public class AutoscalerInitializerTopicReceiver {
     private ExecutorService executorService;
 
     public AutoscalerInitializerTopicReceiver() {
-        this.initializerEventReceiver = new InitializerEventReceiver();
+        this.initializerEventReceiver = InitializerEventReceiver.getInstance();
         addEventListeners();
     }
 
-    public void execute() {
-        initializerEventReceiver.setExecutorService(executorService);
-        initializerEventReceiver.execute();
-        if (log.isInfoEnabled()) {
-            log.info("Cloud controller initializer topic receiver started");
-        }
-    }
+//    public void execute() {
+//        initializerEventReceiver.setExecutorService(executorService);
+//        initializerEventReceiver.execute();
+//        if (log.isInfoEnabled()) {
+//            log.info("Cloud controller initializer topic receiver started");
+//        }
+//    }
 
     private void addEventListeners() {
         initializerEventReceiver.addEventListener(new CompleteApplicationsRequestEventListener() {

http://git-wip-us.apache.org/repos/asf/stratos/blob/fd39caee/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 4d4c54f..ba7c341 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
@@ -189,11 +189,11 @@ public class AutoscalerServiceComponent {
 
         // Start initializer receiver
         autoscalerInitializerTopicReceiver = new AutoscalerInitializerTopicReceiver();
-        autoscalerInitializerTopicReceiver.setExecutorService(executorService);
-        autoscalerInitializerTopicReceiver.execute();
-        if (log.isDebugEnabled()) {
-            log.debug("Initializer receiver thread started");
-        }
+//        autoscalerInitializerTopicReceiver.setExecutorService(executorService);
+//        autoscalerInitializerTopicReceiver.execute();
+//        if (log.isDebugEnabled()) {
+//            log.debug("Initializer receiver thread started");
+//        }
 
         if (log.isInfoEnabled()) {
             log.info("Scheduling tasks to publish applications");

http://git-wip-us.apache.org/repos/asf/stratos/blob/fd39caee/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/internal/CloudControllerServiceComponent.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/internal/CloudControllerServiceComponent.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/internal/CloudControllerServiceComponent.java
index 3a0b1e3..2368596 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/internal/CloudControllerServiceComponent.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/internal/CloudControllerServiceComponent.java
@@ -170,8 +170,8 @@ public class CloudControllerServiceComponent {
         }
 
         initializerTopicReceiver = new InitializerTopicReceiver();
-        initializerTopicReceiver.setExecutorService(executorService);
-        initializerTopicReceiver.execute();
+//        initializerTopicReceiver.setExecutorService(executorService);
+//        initializerTopicReceiver.execute();
 
         if (log.isInfoEnabled()) {
             log.info("Initializer event receiver thread started");

http://git-wip-us.apache.org/repos/asf/stratos/blob/fd39caee/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/receiver/initializer/InitializerTopicReceiver.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/receiver/initializer/InitializerTopicReceiver.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/receiver/initializer/InitializerTopicReceiver.java
index aba0dac..9a2c502 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/receiver/initializer/InitializerTopicReceiver.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/receiver/initializer/InitializerTopicReceiver.java
@@ -34,17 +34,17 @@ public class InitializerTopicReceiver {
     private ExecutorService executorService;
 
     public InitializerTopicReceiver() {
-        this.initializerEventReceiver = new InitializerEventReceiver();
+        this.initializerEventReceiver = InitializerEventReceiver.getInstance();
         addEventListeners();
     }
 
-    public void execute() {
-        initializerEventReceiver.setExecutorService(executorService);
-        initializerEventReceiver.execute();
-        if (log.isInfoEnabled()) {
-            log.info("Autoscaler initializer topic receiver started");
-        }
-    }
+//    public void execute() {
+//        initializerEventReceiver.setExecutorService(executorService);
+//        initializerEventReceiver.execute();
+//        if (log.isInfoEnabled()) {
+//            log.info("Autoscaler initializer topic receiver started");
+//        }
+//    }
 
     private void addEventListeners() {
         initializerEventReceiver.addEventListener(new CompleteTopologyRequestEventListener() {
@@ -62,11 +62,11 @@ public class InitializerTopicReceiver {
         });
     }
 
-    public ExecutorService getExecutorService() {
-        return executorService;
-    }
-
-    public void setExecutorService(ExecutorService executorService) {
-        this.executorService = executorService;
-    }
+//    public ExecutorService getExecutorService() {
+//        return executorService;
+//    }
+//
+//    public void setExecutorService(ExecutorService executorService) {
+//        this.executorService = executorService;
+//    }
 }

http://git-wip-us.apache.org/repos/asf/stratos/blob/fd39caee/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 76d39a7..ed45852 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
@@ -193,8 +193,8 @@ public class StratosManagerServiceComponent {
 
     private void initializeInitializerEventReceiver() {
         initializerTopicReceiver = new StratosManagerInitializerTopicReceiver();
-        initializerTopicReceiver.setExecutorService(executorService);
-        initializerTopicReceiver.execute();
+//        initializerTopicReceiver.setExecutorService(executorService);
+//        initializerTopicReceiver.execute();
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/stratos/blob/fd39caee/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/messaging/receiver/StratosManagerInitializerTopicReceiver.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/messaging/receiver/StratosManagerInitializerTopicReceiver.java b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/messaging/receiver/StratosManagerInitializerTopicReceiver.java
index 89ace69..c08e8e4 100644
--- a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/messaging/receiver/StratosManagerInitializerTopicReceiver.java
+++ b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/messaging/receiver/StratosManagerInitializerTopicReceiver.java
@@ -33,22 +33,22 @@ import java.util.concurrent.ExecutorService;
 public class StratosManagerInitializerTopicReceiver {
     private static final Log log = LogFactory.getLog(StratosManagerInitializerTopicReceiver.class);
     private InitializerEventReceiver initializerEventReceiver;
-    private ExecutorService executorService;
+    //private ExecutorService executorService;
     private ApplicationSignUpHandler applicationSignUpHandler;
 
     public StratosManagerInitializerTopicReceiver() {
-        this.initializerEventReceiver = new InitializerEventReceiver();
+        this.initializerEventReceiver = InitializerEventReceiver.getInstance();
         applicationSignUpHandler = new ApplicationSignUpHandler();
         addEventListeners();
     }
 
-    public void execute() {
-        initializerEventReceiver.setExecutorService(executorService);
-        initializerEventReceiver.execute();
-        if (log.isInfoEnabled()) {
-            log.info("Stratos manager initializer topic receiver started");
-        }
-    }
+//    public void execute() {
+//        initializerEventReceiver.setExecutorService(executorService);
+//        initializerEventReceiver.execute();
+//        if (log.isInfoEnabled()) {
+//            log.info("Stratos manager initializer topic receiver started");
+//        }
+//    }
 
     private void addEventListeners() {
         initializerEventReceiver.addEventListener(new CompleteTenantRequestEventListener() {
@@ -81,11 +81,11 @@ public class StratosManagerInitializerTopicReceiver {
         });
     }
 
-    public ExecutorService getExecutorService() {
-        return executorService;
-    }
-
-    public void setExecutorService(ExecutorService executorService) {
-        this.executorService = executorService;
-    }
+//    public ExecutorService getExecutorService() {
+//        return executorService;
+//    }
+//
+//    public void setExecutorService(ExecutorService executorService) {
+//        this.executorService = executorService;
+//    }
 }

http://git-wip-us.apache.org/repos/asf/stratos/blob/fd39caee/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/receiver/initializer/InitializerEventReceiver.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/receiver/initializer/InitializerEventReceiver.java b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/receiver/initializer/InitializerEventReceiver.java
index 90d358c..e6429e2 100644
--- a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/receiver/initializer/InitializerEventReceiver.java
+++ b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/receiver/initializer/InitializerEventReceiver.java
@@ -20,31 +20,49 @@ package org.apache.stratos.messaging.message.receiver.initializer;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
+import org.apache.stratos.common.threading.StratosThreadPool;
 import org.apache.stratos.messaging.broker.subscribe.EventSubscriber;
 import org.apache.stratos.messaging.listener.EventListener;
+import org.apache.stratos.messaging.message.receiver.StratosEventReceiver;
 import org.apache.stratos.messaging.util.MessagingUtil;
 
 import java.util.concurrent.ExecutorService;
 
-public class InitializerEventReceiver {
+public class InitializerEventReceiver extends StratosEventReceiver {
     private static final Log log = LogFactory.getLog(InitializerEventReceiver.class);
 
     private InitializerEventMessageDelegator messageDelegator;
     private InitializerEventMessageListener messageListener;
     private EventSubscriber eventSubscriber;
-    private ExecutorService executorService;
+    private static volatile InitializerEventReceiver instance;
+    //private ExecutorService executorService;
 
-    public InitializerEventReceiver() {
+    private InitializerEventReceiver() {
+        // TODO: make pool size configurable
+        this.executorService = StratosThreadPool.getExecutorService("initializer-event-receiver", 100);
         InitializerEventMessageQueue initializerEventMessageQueue = new InitializerEventMessageQueue();
         this.messageDelegator = new InitializerEventMessageDelegator(initializerEventMessageQueue);
         this.messageListener = new InitializerEventMessageListener(initializerEventMessageQueue);
+        execute();
+    }
+
+    public static InitializerEventReceiver getInstance () {
+        if (instance == null) {
+            synchronized (InitializerEventReceiver.class) {
+                if (instance == null) {
+                    instance = new InitializerEventReceiver();
+                }
+            }
+        }
+
+        return instance;
     }
 
     public void addEventListener(EventListener eventListener) {
         messageDelegator.addEventListener(eventListener);
     }
 
-    public void execute() {
+    private void execute() {
         try {
             // Start topic subscriber thread
             eventSubscriber = new EventSubscriber(MessagingUtil.Topics.INITIALIZER_TOPIC.getTopicName(),
@@ -68,11 +86,11 @@ public class InitializerEventReceiver {
         messageDelegator.terminate();
     }
 
-    public ExecutorService getExecutorService() {
-        return executorService;
-    }
-
-    public void setExecutorService(ExecutorService executorService) {
-        this.executorService = executorService;
-    }
+//    public ExecutorService getExecutorService() {
+//        return executorService;
+//    }
+//
+//    public void setExecutorService(ExecutorService executorService) {
+//        this.executorService = executorService;
+//    }
 }